23 user/dedication.itely
423 user/macros.itexi
171 index.html.in
-6339 po/lilypond-doc.pot (translate to po/<MY_LANGUAGE>.po)
+6346 po/lilypond-doc.pot (translate to po/<MY_LANGUAGE>.po)
--- ../lilypond-texi2html.init (section TRANSLATIONS)
-13750 total
+13757 total
-2- Introduction and beginning of Application Usage
411 user/preface.itely
2286 user/text.itely
76 user/specialist.itely -- Specialist notation
2670 user/vocal.itely
-1398 user/chords.itely
+1464 user/chords.itely
702 user/piano.itely
810 user/percussion.itely
826 user/guitar.itely
66 user/strings.itely
242 user/bagpipes.itely
-4486 user/ancient.itely
+4487 user/ancient.itely
5805 user/input.itely -- Input syntax
2164 user/non-music.itely -- Non-musical notation
8451 user/spacing.itely -- Spacing issues
5202 user/programming-interface.itely -- Interfaces for programmers
1190 user/notation-appendices.itely -- Notation manual tables
250 user/cheatsheet.itely -- Cheat sheet
-62623 total
+62690 total
-5- Application usage
3248 user/lilypond-book.itely -- LilyPond-book
-·<p><i>Zuletzt aktualisiert am·Sun Dec 21 09:36:02 UTC 2008
+·<p><i>Zuletzt aktualisiert am·Sun Dec 28 01:18:10 UTC 2008
</i></p>
<html>
<!-- This page is automatically generated by translation-status.py from
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
- <td><span style="background-color: #25fe1f">teilweise</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>2.4 Saiteninstrumente mit Bünden<br>(1830)</td>
+ <td>2.4 Saiteninstrumente mit Bünden<br>(1850)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
- <td><span style="background-color: #25fe1f">teilweise</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>2.7 Notation von Akkorden<br>(1398)</td>
+ <td>2.7 Notation von Akkorden<br>(1464)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>2.8 Notation von alter Musik<br>(4486)</td>
+ <td>2.8 Notation von alter Musik<br>(4487)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #dfef77">teilweise (79 %)</span></td>
<td>3 Allgemeine Eingabe und Ausgabe<br>(5805)</td>
<td>Till Rettig</td>
<td></td>
- <td><span style="background-color: #dfef77">teilweise (5 %)</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
- <td><span style="background-color: #25fe1f">teilweise</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: b4a63b6e388283e2f2ac73c3c99da205d209e28a
+ Translation of GIT committish: 8405b88e6c1aac6c44e6064dd7b8b1674d6e7abd
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: de -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 2c00bdbfaf62dd90863331c4713e6b29e32c9322
+ Translation of GIT committish: 23342b5b9f69f3a82751052f79f3fede0bb40ded
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@funindex m
Diese Tabelle zeigt die Funktion der Modifikatoren von Dreiklängen
-und Septakkorden. Eine vollständigere Tabelle findet sich in
+und Septakkorden. Die siebte Stufe wird standardmäßig als kleine
+Septime realisiert, sodass der Dominantseptakkord die Grundform
+des Septakkordes darstellt. Alle Alterationen sind relativ zur
+Dominantsept. Eine vollständigere Tabelle findet sich in
@ref{Common chord modifiers}.
@c @table @code
@item
m, m7
@tab
-Mollakkord: Dieser Modifikator erniedrigt die dritte und (wenn
-vorhanden) die siebte Stufe.
+Mollakkord: Dieser Modifikator erniedrigt die dritte Stufe.
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
@seealso
Notationsreferenz:
-@ref{Common chord modifiers}.
+@ref{Common chord modifiers},
+@ref{Extended and altered chords}.
Schnipsel:
@rlsr{Chords}.
+@knownissues
+
+Nur ein Qualitätsmodifikator sollte pro Akkord benutzt werden, meistens
+für die höchste Stufe des Akkordes. Akkorde mit weiteren Qualitätsmodifikatoren
+werden ohne Warnung oder Fehlermeldung gelesen, aber das Ergebnis ist
+nicht vorhersagbar. Akkorde, die nicht mit einem einzigen
+Qualitätsmodifikator erreicht werden können, sollten mit einzelnen
+Tonhöhen alteriert werden, wie beschrieben in
+@ref{Extended and altered chords}.
+
@node Extended and altered chords
@unnumberedsubsubsec Extended and altered chords
Die erste Zahl, die auf den Doppelpunkt folgt, wird als @qq{Bereich}
des Akkordes interpretiert: Terzen werden auf dem Grundton
-gestapelt, bis die angegebene Zahl (=Tonstufe) erreicht ist. Wenn
+gestapelt, bis die angegebene Zahl (=Tonstufe) erreicht ist.
+Die siebte Stufe, die zu einem Akkord hinzugefügt wird, ist die
+kleine Septime, nicht die große. Wenn
der Bereich keine Terz ist (also etwa 6), dann werden Terzen bis
zur höchst möglichen Terz unter dem Bereich gestapelt, und der
Endton des Bereichs wird hinzugefügt. Der größtmögliche Wert ist
Kompliziertere Akkorde können auch konstruiert werden, indem
einzelne Intervalle zu dem Grundton addiert werden.
Diese Additionen werden nach dem Bereich notiert und mit
-Punkten voneinander getrennt.
+Punkten voneinander getrennt. Die normale Septime, die zu
+einem Akkord hinzugefügt wird, ist die kleine Septime, nicht
+die große.
@lilypond[quote,verbatim,fragment,relative=1]
\chordmode {
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 4770e4e71ebff6104cad46bd2d889c3ff6ba3875
+ Translation of GIT committish: 23342b5b9f69f3a82751052f79f3fede0bb40ded
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
die am Hals entlang verschoben werden können und dabei unterschiedliche
Akkorde ergeben. Akkordformen können zu der internen Liste
hinzugefügt werden und dann benutzt werden, um vordefinierte
-Bunddiagramme zu definieren. Wie Bunddiagramme können auch
+Bunddiagramme zu definieren. Weil sie auf verschiedenen Positionen
+auf dem Steg gelegt werden können, beinhalten vordefinierte
+Akkord üblicherweise keine leeren Saiten. Wie Bunddiagramme können auch
Akkordformen entweder als @code{fret-diagram-terse}-Definition
oder als @code{fret-diagram-verbose}-Liste erstellt werden.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@c This file is part of lilypond-learning.tely
@ignore
- Translation of GIT committish: 4770e4e71ebff6104cad46bd2d889c3ff6ba3875
+ Translation of GIT committish: 23342b5b9f69f3a82751052f79f3fede0bb40ded
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: de -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 4770e4e71ebff6104cad46bd2d889c3ff6ba3875
+ Translation of GIT committish: 23342b5b9f69f3a82751052f79f3fede0bb40ded
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.11.61"
+@c \version "2.11.65"
@node General input and output
@chapter General input and output
-@untranslated
-
+Dieses Kapitel erklärt allgemeine Fragen zur Eingabe und Ausgabe von
+Notation mit LilyPond und weniger direkte Fragen der Notation.
@menu
-* Input structure::
-* Titles and headers::
-* Working with input files::
-* Controlling output::
-* MIDI output::
+* Input structure::
+* Titles and headers::
+* Working with input files::
+* Controlling output::
+* MIDI output::
@end menu
+
@node Input structure
@section Input structure
-@untranslated
-
+Das hauptsächliche Eingabeformat von LilyPond sind Textdateien.
+Üblicherweise werden diese Dateien mit der Endung @code{.ly}
+versehen.
@menu
-* Structure of a score::
-* Multiple scores in a book::
-* File structure::
+* Structure of a score::
+* Multiple scores in a book::
+* File structure::
@end menu
+
@node Structure of a score
@subsection Structure of a score
-@untranslated
+@funindex \score
+
+Eine @code{\score}-Umgebung muss einen einzelnen musikalischen
+Ausdruck beinhalten, der durch geschweifte Klammern begrenzt wird:
+
+@example
+\score @{
+...
+@}
+@end example
+
+@warning{Es darf @strong{nur ein} äußerer musikalischer Ausdruck
+in der @code{\score}-Umgebung geschrieben werden, und er @strong{muss}
+von geschweiften Klammern umgeben sein.}
+
+Dieser einzelne musikalische Ausdruck kann beliebige Größe annehmen und
+andere musikalische Ausdrücke von beliebiger Komplexität beinhalten.
+Alle diese Beispielse sind musikalische Ausdrücke:
+
+@example
+@{ c'4 c' c' c' @}
+@end example
+
+@lilypond[verbatim,quote]
+{
+ { c'4 c' c' c'}
+ { d'4 d' d' d'}
+}
+@end lilypond
+
+@lilypond[verbatim,quote]
+<<
+ \new Staff { c'4 c' c' c' }
+ \new Staff { d'4 d' d' d' }
+>>
+@end lilypond
+
+@example
+@{
+ \new GrandStaff <<
+ \new StaffGroup <<
+ \new Staff @{ \Flöte @}
+ \new Staff @{ \Oboe @}
+ >>
+ \new StaffGroup <<
+ \new Staff @{ \GeigeI @}
+ \new Staff @{ \GeigeII @}
+ >>
+ >>
+@}
+@end example
+
+Kommentare bilden eine Ausnahme dieser Regel. (Andere Ausnahmen
+siehe @ref{File structure}.) Sowohl einzeilige als auch
+Blockkommentare (eingegrenzt durch @code{%@{ .. %@}}) können
+an beliebiger Stelle einer Eingabedatei geschrieben werden. Sie
+können innerhalb oder außerhalb der @code{\score}-Umgebung vorkommen,
+und innerhalb oder außerhalb des einzelnen musikalischen Ausdrucks
+innerhalb der @code{\score}-Umgebung.
+
+
+@seealso
+Handbuch zum Lernen:
+@rlearning{Working on input files},
+@rlearning{Music expressions explained},
+@rlearning{Score is a (single) compound musical expression}.
@node Multiple scores in a book
@subsection Multiple scores in a book
-@untranslated
+@funindex \book
+@cindex Sätze, mehrere
+
+Eine Partitur kann mehrere musikalische Stücke und verschiedene
+Texte beinhalten. Beispiele hierzu sind etwa eine Etüdensammlung
+oder ein Orchesterstück mit mehreren Sätzen. Jeder Satz wird
+in einer eigenen @code{\score}-Umgebung notiert:
+
+@example
+\score @{
+ @var{..Noten..}
+@}
+@end example
+
+@noindent
+und Texte werden mit einer @code{\markup}-Umgebung geschrieben:
+
+@example
+\markup @{
+ @var{..Text..}
+@}
+@end example
+
+@funindex \book
+
+Alle Sätze und Texte, die in derselben @code{.ly}-Datei vorkommen,
+werden normalerweise in eine einzige Ausgabedatei gesetzt.
+
+@example
+\score @{
+ @var{..}
+@}
+\markup @{
+ @var{..}
+@}
+\score @{
+ @var{..}
+@}
+@end example
+
+Wenn Sie aber mehrere Ausgabedateien aus einer einzigen @code{.ly}-Datei
+erstellen wollen, können Sie mehrere @code{\book}-Umgebungen notieren.
+Wenn Sie keine @code{\book}-Umgebung in Ihrer Datei angeben, interpretiert
+LilyPond die gesamte Datei als eine große @code{\book}-Umgebung (siehe
+auch @ref{File structure}. Eine wichtige Ausnahme stellen Dokumente dar,
+die mit lilypond-book erstellt werden, für die Sie explizit
+@code{\book}-Umgebungen notieren müssen, weil sonst nur die erste
+@code{\score}- bzw. @code{\markup}-Umgebung angezeigt wird.
+
+Der Kopfbereich für jedes Musikstück kann innerhalb der @code{\score}-Umgebung
+definiert werden. Die @code{piece}-(Stück)-Bezeichnung aus dieser
+@code{\header}-Umgebung wird vor jedem Satz ausgegeben. Die Überschrift für
+ein ganzes Buch kann innerhalb von @code{\book} notiert werden, aber wenn
+diese Umgebung fehlt, wird die @code{\header}-Umgebung genommen, die auf
+erster Ebene der Datei notiert ist.
+
+@example
+\header @{
+ title = "Acht Miniaturen"
+ composer = "Igor Stravinsky"
+@}
+\score @{
+ @dots{}
+ \header @{ piece = "Romanze" @}
+@}
+\markup @{
+ ..Text der zweiten Strophe..
+@}
+\markup @{
+ ..Text der dritten Strophe..
+@}
+\score @{
+ @dots{}
+ \header @{ piece = "Menuetto" @}
+@}
+@end example
+
+@funindex \bookpart
+
+Stücke können innerhalb eines Buches mit @code{\bookpart} gruppiert
+werden. Derartige Buchabschnitte werden durch einen Seitenumbruch
+voneinander getrennt und können wie auch das ganze Buch selber mit
+einem Titel innerhalb einer @code{\header}-Umgebung beginnen.
+@example
+\bookpart @{
+ \header @{
+ title = "Buchtitel"
+ subtitle = "Erster Teil"
+ @}
+ \score @{ @dots{} @}
+ @dots{}
+@}
+\bookpart @{
+ \header @{
+ subtitle = "Zweiter Teil"
+ @}
+ \score @{ @dots{} @}
+ @dots{}
+@}
+@end example
@node File structure
@subsection File structure
-@untranslated
+@funindex \paper
+@funindex \midi
+@funindex \layout
+@funindex \header
+@funindex \score
+@funindex \book
+@funindex \bookpart
+
+@cindex Dateistruktur
+@cindex Struktur, Datei
+@cindex Eingabedatei, Struktur
+@cindex Quelldatei, Struktur
+
+Eine @code{.ly}-Datei kann eine belibige Anzahl an Ausdrücken
+auf der obersten Ebene beinhalten, wobei ein Ausdrück der obersten
+Ebene einer der folgenden sein kann:
+
+@itemize @bullet
+@item
+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 derarte Definition desselben Typs angegeben wird, hat
+die spätere Vorrang.
+
+@item
+Ein direkter Scheme-Ausdruck, wie etwa
+@code{#(set-default-paper-size "a7" 'landscape)} oder
+@code{#(ly:set-option 'point-and-click #f)}.
+
+@item
+Eine @code{\header}-Umgebung. Damit wird die globale Titelei
+eingestellt. Das ist die Umgebung, in der sich Definition für
+das ganze Buch befinden, wie Komponist, Titel usw.
+
+@item
+Eine @code{\score}-Umgebung. Die in ihr enthaltene Partitur wird
+zusammen mit anderen vorkommenden @code{\score}-Umgebungen gesammelt
+und in ein @code{\book} zusammengefasst. Dieses Verhalten kann
+verändert werden, indem die Variable @code{toplevel-score-handler}
+auf höchster Ebene gesetzt wird. Die Definition des Standards findet sich
+in der Datei @file{../scm/@/lily@/.scm}.
+
+@item
+Eine @code{\book}-Umgebung fasst mehrere Sätze (d. h. mehrere
+@code{\score}-Umgebungen) logisch in ein Dokument zusammen.
+Wenn mehrere @code{\score}-Partituren vorkommen, wird für jede
+@code{\book}-Umgebung eine eigene Ausgabedatei erstellt, in der
+alle in der Umgebung enthaltenen Partituren zusammengefasst sind.
+Der einzige Grund, explizit eine @code{\book}-Umgebung zu setzen,
+ist, wenn mehrere Ausgabedateien aus einer einzigen Quelldatei
+erstellt werden sollen. Eine Ausnahme sind lilypond-book-Dokumente,
+in denen eine @code{\book}-Umgebung explizit hinzugefügt werden
+muss, wenn mehr als eine @code{\score}- oder @code{\markup}-Umgebung
+im gleichen Beispiel angezeigt werden soll. Dieses Verhalten
+kann verändert werden, indem die Variable @code{toplevel-book-handler}
+auf höchster Ebene gesetzt wird. Die Definition des Standards
+findet sich in der Datei @file{../scm/@/lily@/.scm}.
+
+@item
+Eine @code{\bookpart}-Umgebung. Ein Buch (@code{\book}) kann in
+mehrere Teile untergliedert sein, indem @code{\bookpart}-Umgebungen
+eingesetzt werden. Jeder Buchabschnitt beginnt auf einer neuen
+Seite und kann eigene Papierdefinitionen in einer @code{\paper}-Umgebung
+haben.
+
+@item
+Ein zusammengesetzter musikalischer Ausdruck wie etwa
+@example
+@{ c'4 d' e'2 @}
+@end example
+
+Dieses Beispiel wird von LilyPond automatisch in einer
+@code{\score}-Umgebung in einem Buch interpretiert und
+mit anderen @code{\score}-Umgebungen und musikalischen
+Ausdrücken auf der höchsten Ebene zusammen ausgegeben.
+Anders gesagt: eine Datei, die nur das obige Beispiel
+beinhaltet, wird übersetzt zu
+
+@example
+\book @{
+ \score @{
+ \new Staff @{
+ \new Voice @{
+ @{ c'4 d' e'2 @}
+ @}
+ @}
+ @}
+ \layout @{ @}
+ \header @{ @}
+@}
+@end example
+
+Dieses Verhalten kann verändert werden, indem die Variable
+@code{toplevel-music-handler} auf der oberseten Ebene gesetzt
+wird. Die Definition des Standards findet sich in der Datei
+@file{../scm/@/lily@/.scm}.
+
+@item
+Eine Textbeschriftung, eine Strophe etwa:
+@example
+\markup @{
+ 2. Die erste Zeile der zweiten Strophe.
+@}
+@end example
+
+Textbeschriftungen werden über, zwischen oder unter musikalischen
+Ausdrücken gesetzt, so wie sie notiert werde.
+
+@cindex Variablen
+
+@item
+Eine Variable, wie
+@example
+foo = @{ c4 d e d @}
+@end example
+
+Sie kann dann später in der Datei eingesetzt werden, indem @code{\foo}
+geschrieben wird. Die Beizeichnung der Variable darf nur aus
+alphabetischen Zeichen bestehen, keine Zahlen, Unter- oder Bindestriche.
+
+@end itemize
+
+Das folgende Beispiel zeigt drei Dinge, die auf der obersten Ebene
+notiert werden können:
+
+@example
+\layout @{
+ % Zeilen rechtsbündig setzen
+ ragged-right = ##t
+@}
+
+\header @{
+ title = "Do-re-mi"
+@}
+
+@{ c'4 d' e2 @}
+@end example
+
+An einer beliebigen Stelle der Datei kann jede der folgenden lexikalen
+Anweisungen notiert werden:
+
+@itemize
+@item @code{\version}
+@item @code{\include}
+@item @code{\sourcefilename}
+@item @code{\sourcefileline}
+@item
+Ein einzeiliger Kommentar, beginnend mit @code{%}.
+
+@item
+Ein mehrzeiliger Kommentar, umgeben von @code{%@{ .. %@}}.
+
+@end itemize
+
+@seealso
+Hanbuch zum Lernen:
+@rlearning{How LilyPond input files work}.
@node Titles and headers
@section Titles and headers
-@untranslated
-
+Fast alle gedruckten Noten beinhalten einen Titel und den Namen
+des Komponisten, teilweise wird auch noch sehr viel mehr Information
+zur Verfügung gestellt.
@menu
-* Creating titles::
-* Custom titles::
-* Reference to page numbers::
-* Table of contents::
+* Creating titles::
+* Custom titles::
+* Reference to page numbers::
+* Table of contents::
@end menu
+
@node Creating titles
@subsection Creating titles
-@untranslated
+Überschriften können für jede @code{\score}-Umgebung erstellt werden, sowohl
+für die gesamte Datei (oder eine @code{\book}-Umgebung) als auch für
+einzelne Buchabschnitte (innerhalb einer @code{\bookpart}-Umgebung).
+
+Der Inhalt der Titelei wird aus der @code{\header}-Umgebung übernommen. Die
+@code{\header}-Umgebung eines Buches unterstützt folgende Felder:
+
+@table @code
+@funindex dedication
+@item dedication
+Die Widmung der Noten, wird auf oben auf der ersten Seite gesetzt.
+
+@funindex title
+@item title
+Die Überschrift der Noten, wird unter der Widmung zentriert gesetzt.
+
+@funindex subtitle
+@item subtitle
+Untertitel, zentriert unter der Überschrift.
+
+@funindex subsubtitle
+@item subsubtitle
+Unteruntertitel, zentriert unter dem Untertitel.
+
+@funindex poet
+@item poet
+Name des Dichters, linksbündig unter dem Unteruntertitel.
+
+@funindex instrument
+@item instrument
+Bezeichnung des Instruments, zentriert unter dem Unteruntertitel.
+Auch oben auf der Seite zentriert (andere als erste Seite).
+
+@funindex composer
+@item composer
+Name des Komponisten, rechtsbüngig unter dem Unteruntertitel.
+
+@funindex meter
+@item meter
+Metrum, linksbündig unter dem Dichter.
+
+@funindex arranger
+@item arranger
+Name des Bearbeiters/Arrangeurs, rechtsbündig unter dem Komponisten.
+
+@funindex piece
+@item piece
+Bezeichnung des Stückes, linksbündig unter dem Metrum.
+
+@funindex opus
+@item opus
+Bezeichnung des Opus, rechtsbündig unter dem Bearbeiter.
+
+@cindex Seitenumbruch, erzwingen
+@funindex breakbefore
+
+@item breakbefore
+Hiermit beginnt der Titel auf einer neuen Steite. (Kann die Werte
+##t (wahr) oder ##f (falsch) haben.)
+
+@funindex copyright
+@item copyright
+Anzeige eines Copyright, zentriert unten auf der ersten Seite. Um das
+Copyright-Symbol zu notieren, siehe @ref{Text encoding}.
+
+@funindex tagline
+@item tagline
+Zentriert unten auf der letzten Seite. Enthält standardmäßig: @qq{Music
+engraving by LilyPond (@var{version})---www.lilypond.org}
+
+@end table
+
+Hier eine Demonstration der möglichen Felder. Beliebige
+Formatierungsbefehle für Textbeschriftung können in der Titelei
+eingesetzt werden. Siehe hierzu auch @ref{Formatting text}.
+
+@c KEEP LY
+@lilypond[quote,verbatim,line-width=11.0\cm]
+\paper {
+ line-width = 9.0\cm
+ paper-height = 10.0\cm
+}
+
+\book {
+ \header {
+ dedication = "mir gewidmet"
+ title = \markup \center-column { "Titel erste Zeile" "Titel zweite Zeile, länger" }
+ subtitle = "Untertitel"
+ subsubtitle = #(string-append "Unteruntertitel LilyPond-Version "
+(lilypond-version))
+ poet = "Dichter"
+ composer = \markup \center-column { "Komponist" \small "(1847-1973)" }
+ texttranslator = "Übersetzer"
+ meter = \markup { \teeny "m" \tiny "e" \normalsize "t" \large "r" \huge
+"um" }
+ arranger = \markup { \fontsize #8.5 "Be" \fontsize #2.5 "ar" \fontsize
+#-2.5 "be" \fontsize #-5.3 "i" \fontsize #7.5 "ter" }
+ instrument = \markup \bold \italic "Instrument"
+ piece = "Stück"
+ }
+
+ \score {
+ { c'1 }
+ \header {
+ piece = "Stück zwei"
+ opus = "Opus1"
+ }
+ }
+ \markup {
+ und jetzt...
+ }
+ \score {
+ { c'1 }
+ \header {
+ piece = "Stück2"
+ opus = "Opus2"
+ }
+ }
+}
+@end lilypond
+
+Wie schon oben gezeigt, können mehrfache @code{\header}-Umgebungen
+eingesetzt werden. Wenn das gleiche Feld in mehreren
+Umgebungen, wird die letzte vorkommende
+Version benutzt. Hier ein kurzes Beispiel:
+
+@example
+\header @{
+ composer = "Komponist"
+@}
+\header @{
+ piece = "Stück"
+@}
+\score @{
+ \new Staff @{ c'4 @}
+ \header @{
+ piece = "Neues Stück" % überschreibt die die vorige Definition
+ @}
+@}
+@end example
+
+Wenn @code{\header} innerhalb der @code{\score}-Umgebung definiert wird,
+wird normalerweise nur die Information von @code{piece} und @code{opus}
+ausgegeben. Musikalische Ausdrücke innerhalb von @code{\score} müssen
+vor @code{\header} gesetzt werden.
+
+@lilypond[quote,verbatim,line-width=11.0\cm]
+\score {
+ { c'4 }
+ \header {
+ title = "title" % not printed
+ piece = "piece"
+ opus = "opus"
+ }
+}
+@end lilypond
+
+@funindex print-all-headers
+
+@noindent
+Dieses Verhalten kann verändert werden (sodass alle Angaben aus der
+überschrift gesetzt werden, wenn sich @code{\header} innerhalb von
+@code{\score} befindet), indem man schreibt:
+
+@example
+\paper@{
+ print-all-headers = ##t
+@}
+@end example
+
+@cindex Copyright
+@cindex Tagline
+
+Die Standardfußzeile ist leer mit Ausnahme der ersten Seite, auf der
+das @code{copyright}-Feld aus der @code{\header}-Umgebung eingefügt wird,
+und die letzte Seite, auf der das @code{tagline}-Feld eingefügt wird.
+Der Standardinhalt von @code{tagline} ist @qq{Music engraving by
+LilyPond (@var{version})---www.lilypond.org}. Gut gesetzte Noten werben sehr effektiv
+für LilyPond, darum bitten wir darum, diese Zeile stehen zu lassen,
+wenn es möglich ist.
+
+Ein Titelfeld kann vollständig entfernt werden, indem es auf
+falsch gesetzt wird:
+
+@example
+\header @{
+ tagline = ##f
+ composer = ##f
+@}
+@end example
@node Custom titles
@subsection Custom titles
-@untranslated
+Kompliziertere Anpassungen können vorgenommen werden, indem die
+folgenden Variablen innerhalb der @code{\paper}-Umgebung geändert
+werden. Die Init-Datei @file{../ly/titling-init.ly} enthält das
+Standardverhalten.
+
+@table @code
+
+@funindex bookTitleMarkup
+
+@item bookTitleMarkup
+Das ist die Überschrift, die für das gesamte Dokument gilt. Üblicherweise
+wird hier der Komponist und die Überschrift des Werkes genannt.
+
+@funindex scoreTitleMarkup
+
+@item scoreTitleMarkup
+Das ist die Überschrift, die vor jede @code{\score}-Umgebung gesetzt wird.
+Überlicherweise wird hier etwa die Bezeichnung eines Satzes notiert
+(im @code{piece}-Feld).
+
+@funindex oddHeaderMarkup
+
+@item oddHeaderMarkup
+Das ist der Seitenkopf für ungerade Seiten.
+
+@funindex evenHeaderMarkup
+
+@item evenHeaderMarkup
+Das ist der Seitenkopf für gerade Seiten. Wenn undefiniert, wird der
+ungerade Seitenkopf eingesetzt.
+
+Standardmäßig werden die Kopfzeilen so definiert, dass die Seitennummer
+sich außen befindet und das Instrument zentriert gesetzt wird.
+
+@funindex oddFooterMarkup
+
+@item oddFooterMarkup
+Das ist die Fußzeile für ungerade Seiten.
+
+@funindex evenFooterMarkup
+
+@item evenFooterMarkup
+Das ist die Fußzeile für gerade Seiten. Wenn undefiniert, wird die
+ungerade Fußzeile eingesetzt.
+
+Standardmäßig wird in der Fußzeile auf der ersten Seite das Copyright
+und auf der letzten Seite die Tag-Zeile gesetzt.
+
+@end table
+
+
+@funindex \paper
+@cindex Kopfzeile
+@cindex Fußzeile
+@cindex Seitenlayout
+@cindex Layout der Seite
+@cindex Titel
+@cindex Überschriften
+
+Die folgende Definition setzt die Überschrift linksbündig und
+den Komponisten rechtsbündig auf einer einzelnen Zeile:
+
+@verbatim
+\paper {
+ bookTitleMarkup = \markup {
+ \fill-line {
+ \fromproperty #'header:title
+ \fromproperty #'header:composer
+ }
+ }
+}
+@end verbatim
@node Reference to page numbers
@subsection Reference to page numbers
-@untranslated
+Eine bestimmte Stelle der Partitur kann mit einem @code{\label}-Befehl
+markiert werden, sowohl auf oberster Ebene als auch innerhalb eines
+musikalischen Ausdrucks. Auf diese Marke kann dann verwiesen werden,
+um die Seitenzahl zu erhalten, auf der die Marke vorkommt. Der
+Verweis wird mit dem Befehl @code{\page-ref} gefordert (innerhalb
+von @code{\markup}).
+
+@c KEEP LY
+@lilypond[verbatim,line-width=11.0\cm]
+\header { tagline = ##f }
+\book {
+ \label #'ErstePartitur
+ \score {
+ {
+ c'1
+ \pageBreak \mark A \label #'ZeichenA
+ c'
+ }
+ }
+
+ \markup { Die erste Partitur fäng auf Seite \page-ref #'ErstePartitur "0" "?" an.}
+ \markup { Zeichen A befindet sich auf Seite \page-ref #'ZeichenA "0" "?". }
+}
+@end lilypond
+
+Der @code{\page-ref}-Textbeschriftungsbefehl braucht drei Argumente:
+
+@enumerate
+
+@item die Marke, ein Scheme-Symbol, etwa @code{#'ErstePartitur},
+@item eine Beschriftung, die als Platzhalter benutzt wird, um die Breite des Verweisen zu schätzen,
+@item eine Beschriftung, die anstelle der Seitenzahl gesetzt wird, wenn die Marke unbekann ist.
+@end enumerate
+
+Der Grund, warum ein Platzhalter benötigt wird, ist dass zu dem Zeitpunkt,
+an dem die Textbeschriftungen ausgewertet werden, noch keine Seitenumbrüche
+vorgenommen wurden und die Seitenzahlen deshalb noch nicht bekannt sind.
+Um hier ein Problem zu vermeiden, wird die eigentliche Auswertung der
+Textbeschriftung erst später ausgeführt, die Größe des Textes muss aber
+schon vorher bekannt sein. Die Größe wird mithilfe des Platzhalters
+bestimmt. Wenn eine Partitur zwischen 10 und 99 Seiten hat, kann man
+"00" schreiben, also eine zweistellige Zahl.
+
+@code{\label}
+@code{\page-ref}
+
+@predefined
+@funindex \label,
+@funindex \page-ref.
+@endpredefined
@node Table of contents
@subsection Table of contents
-@untranslated
+Ein Inhaltsverzeichnis kann eingefügt werden mit dem Befehl
+@code{\markuplines \table-of-contents}. Die Elemente, die im
+Inhaltsverzeichnis aufgelistet werden sollen, werden mit dem
+@code{\tocItem}-Befehl markiert, welches sowohl auf höchster
+Ebene als auch in einem musikalischen Ausdruck verwendet werden
+kann.
+
+@verbatim
+\markuplines \table-of-contents
+\pageBreak
+
+\tocItem \markup "Erste Partitur"
+\score {
+ {
+ c' % ...
+ \tocItem \markup "Ein bestimmter Punkt innerhalb der ersten Partitur"
+ d' % ...
+ }
+}
+\tocItem \markup "zweite Partitur"
+\score {
+ {
+ e' % ...
+ }
+}
+@end verbatim
+
+Die Beschriftungen, die benutzt werden um das Inhaltsverzeichnis
+zu formatieren, sind in der @code{\paper}-Umgebung definiert.
+Die Standardformatierungselemente sind @code{tocTitleMarkup}
+um die Überschrift zu formatieren und @code{tocItemMarkup} um
+die einzelnen Inhaltselemente zu formatieren, bestehend aus
+dem Titelelement und einer Seitenzahl. Die Variablen können
+durch den Benutzer geändert werden:
+
+@verbatim
+\paper {
+ %% Übersetzung der Inhaltsverzeichnisüberschrift nach französisch:
+ tocTitleMarkup = \markup \huge \column {
+ \fill-line { \null "Table des matières" \null }
+ \hspace #1
+ }
+ %% hier größere Schriftarten
+ tocItemMarkup = \markup \large \fill-line {
+ \fromproperty #'toc:text \fromproperty #'toc:page
+ }
+}
+@end verbatim
-@node Working with input files
-@section Working with input files
+Die Inhaltsverzeichniselemente Text und Seitenzahl werden
+in der Definition von @code{tocItemMarkup} aufgerufen mit
+@code{#'toc:text} und @code{#'toc:page}.
+
+Neue Befehle und Beschriftungen können auch definiert werden,
+um eigene Inhaltsverzeichnisse zu gestalten:
+
+@itemize
+
+@item zuerst muss eine neue Beschriftungsvariable in der
+@code{\paper}-Umgebung definiert werden
+
+@item dann muss die musikalische Funktion definiert werden, die
+ein Element zum Inhaltsverzeichnis hinzufügt, indem die neue
+Variable benutzt wird.
+
+@end itemize
+
+Das folgende Beispiel definiert einen neuen Stil um Akt-Bezeichnungen
+einer Oper in das Inhaltsverzeichnis aufzunehmen:
+
+@verbatim
+\paper {
+ tocActMarkup = \markup \large \column {
+ \hspace #1
+ \fill-line { \null \italic \fromproperty #'toc:text \null }
+ \hspace #1
+ }
+}
+
+tocAct =
+#(define-music-function (parser location text) (markup?)
+ (add-toc-item! 'tocActMarkup text))
+@end verbatim
+
+@lilypond[line-width=11.0\cm]
+\header { tagline = ##f }
+\paper {
+ tocActMarkup = \markup \large \column {
+ \hspace #1
+ \fill-line { \null \italic \fromproperty #'toc:text \null }
+ \hspace #1
+ }
+}
+
+tocAct =
+#(define-music-function (parser location text) (markup?)
+ (add-toc-item! 'tocActMarkup text))
+
+\book {
+ \markuplines \table-of-contents
+ \tocAct \markup { Atto Primo }
+ \tocItem \markup { Coro. Viva il nostro Alcide }
+ \tocItem \markup { Cesare. Presti omai l'Egizzia terra }
+ \tocAct \markup { Atto Secondo }
+ \tocItem \markup { Sinfonia }
+ \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
+ \markup \null
+}
+@end lilypond
+
+
+@seealso
+Installierte Dateien: @file{../ly/@/toc@/-init@/.ly}.
-@untranslated
+@funindex \table-of-contents
+@funindex \tocItem
+@predefined
+@code{\table-of-contents},
+@code{\tocItem}.
+@endpredefined
+
+
+@node Working with input files
+@section Working with input files
@menu
-* Including LilyPond files::
-* Different editions from one source::
-* Text encoding::
-* Displaying LilyPond notation::
+* Including LilyPond files::
+* Different editions from one source::
+* Text encoding::
+* Displaying LilyPond notation::
@end menu
+
@node Including LilyPond files
@subsection Including LilyPond files
-@untranslated
+@funindex \include
+@cindex einfügen von Dateien
+@cindex Dateien einfügen
+
+Ein größeres Projekt kann in einzelne Dateien aufteteilt werden.
+Um eine andere Datei einzubinden, kann der Befehl
+
+@example
+\include "andereDatei.ly"
+@end example
+
+@noindent
+benutzt werden.
+
+Die Zeile @code{\include "andereDatei.ly"} benimmt sich genauso,
+also ob der Inhalt der Datei @code{andereDatei.ly} komplett in die
+Hauptdatei eingefügt werden würde. So kann man für ein größeres
+Projekt die einzelnen Stimmen der Instrumente getrennt notieren
+und sie dann in einer Partitur-Datei benutzen. Meistens werden
+in den eingefügten Dateien einige Variablen definiert, die dann
+auch in der Hauptdatei eingesetzt werden können. Mit Marken (Tags)
+gekennzeichnete Abschnitte können eingesetzt werden, um die
+entsprechenden Noten etc. an verschiedenen Stellen in der Datei
+zur Verfügung zu stellen. Siehe auch @ref{Different editions from
+one source}.
+
+Auf Dateien im aktuellen Verzeichnis kann einfach mit dem Dateinamen
+nach dem @code{\include}-Befehl verwiesen werden. Dateien an anderen
+Stellen können eingebunden werden, indem entweder ein vollständiger
+Pfad oder ein relativer Pfad zu der Datei angegeben wird. Hierbei
+sollten die für UNIX typischen Schrägstriche (/) und nicht die
+rückwärtsgeneigten von Windows (\) verwendet werden, um die Verzeichnisse
+zu trennen. Wenn etwa die Datei @file{kram.ly} ein Verzeichnis
+höher liegt als das aktuelle Verzeichnis, sollte der Befehl so
+aussehen:
+
+@example
+\include "../kram.ly"
+@end example
+
+@noindent
+Wenn die Orchesterstimmen andererseits in einem Unterordner mit
+der Bezeichnung @code{stimmen} liegen, sieht er folgendermaßen
+aus:
+
+@example
+\include "stimmen/VI.ly"
+\include "stimmen/VII.ly"
+... etc
+@end example
+
+Dateien, die eingebunden werden sollen, können selber auch wiederum
+ein @code{\include} enthalten. Diese Einbindung zweiter Ebene
+werden erst interpretiert, wenn sie sich in der Hauptdatei befinden,
+sodass die Pfadangaben hier nicht relativ zur eingebundenen Datei,
+sondern relativ zur Hauptdatei gesetzt werden müssen.
+
+Dateien können auch aus einem Verzeichnis eingebunden werden,
+dass im Suchpfad von LilyPond liegt. Hierzu muss auf der
+Kommandozeile das entsprechende Verzeichnis angegeben werden
+und die Dateien, die eingebunden werden, müssen nur mit ihrem Namen
+notiert sein. Wenn etwa die Datei @file{Haupt.ly} kompiliert
+werden soll, die Dateien aus dem Unterverzeichnis @file{stimmen}
+einbindet, müssen sie sich im Verzeichnis von @file{Haupt.ly}
+befinden und dann LilyPond folgendermaßen aufrufen:
+
+@example
+lilypond --include=stimmen Haupt.ly
+@end example
+
+@noindent
+In @file{Haupt.ly} steht:
+
+@example
+\include "VI.ly"
+\include "VII.ly"
+... usw.
+@end example
+
+Dateien, die in vielen Partituren verwendet werden sollen, können
+im LilyPond-Verzeichnis @file{../ly} gespeichert werden. (Die
+Stelle, an der dieses Verzeichnis sich befindet, hängt vom Betriebssystem
+ab, siehe hierzu @rlearning{Other sources of information}). Dateien
+in diesem Verzeichnis können einfach mit ihrem Namen eingefügt werden.
+So werden auch die Sprachdateien wie etwa @file{deutsch.ly} eingefügt.
+
+LilyPond lädt eine Anzahl an Dateien, wenn das Programm aufgerufen wird.
+Diese Dateien sind für den Benutzer nicht ersichtlich, aber die Dateien
+können identifiziert werden, indem LilyPond auf der Komandozeile mit
+Option aufgerufen wird: @code{lilypond --verbose}. Hiermit wird
+neben anderer Information auch eine Liste and Pfaden und Dateien
+aufgeführt, die LilyPond benutzt. Die wichtigeren Dateien werden
+im Abschnitt @rlearning{Other sources of information} besprochen.
+Diese Dateien können verändert werden, aber Änderungen gehen verloren,
+wenn eine neue LilyPond-Version installiert wird.
+
+Eine einfache Beispiele, die die Benutzung von @code{\include} demonstrieren,
+sind dargestellt in
+@rlearning{Scores and parts}.
+
+@seealso
+Handbuch zum Lernen:
+@rlearning{Other sources of information},
+@rlearning{Scores and parts}.
+
+@knownissues
+
+Wenn eine Datei eingebunden wird, deren Name einer Datei aus
+dem Installationsverzeichnis von LilyPond entspricht, wird die
+installierte Datei anstelle der eigenen verwendet.
@node Different editions from one source
@subsection Different editions from one source
-@untranslated
-
+Es gibt verschiedene Funktionen, die es möglich machen, unterschiedliche
+Versionen einer Partitur aus der gleichen Quelldatei zu produzieren.
+Variablen werden am besten eingesetzt, wenn es darum geht, längere
+Notenpassagen und/oder Anmerkungen/Textmarken miteinander auf
+verschiedene Weise zu kombinieren. Tag-Marken dagegen werden am
+besten eingesetzt, wenn eine von mehreren kurzen alternativen
+Notenabschnitten ausgewählt werden soll. Egal welche Methode am
+Ende eingesetzt wird: Es erleichtert die Arbeit in jedem Fall, wenn
+die eigentlichen Noten und die Struktur der Paritur voneinander
+getrennt notiert werden -- so kann die Struktur geändert werden,
+ohne dass man Änderungen an den Noten vornehmen muss.
@menu
-* Using variables::
-* Using tags::
+* Using variables::
+* Using tags::
@end menu
@node Using variables
@unnumberedsubsubsec Using variables
-@untranslated
+@cindex Variablen, Benutzung
+
+Wenn Notenabschnitt in Variablen definiert werden, können sie
+an unterschiedlichen Stellen in der Partitur eingesetzt werden,
+siehe auch @rlearning{Organizing pieces with variables}. Zum
+Beispiel enthält eine Vokalpartitur für ein @notation{a cappella}
+Stück oft einen Klavierauszug, der das Einüben einfacher macht.
+Der Klavierauszug enthält die gleichen Noten, sodass man sie nur
+einmal notieren muss. Noten aus zwei Variablen können auf einem
+System kombiniert werden, siehe @ref{Automatic part combining}.
+Hier ein Beispiel:
+
+@lilypond[verbatim,quote]
+sopranoMusic = \relative c'' { a4 b c b8( a)}
+altoMusic = \relative g' { e4 e e f }
+tenorMusic = \relative c' { c4 b e d8( c) }
+bassMusic = \relative c' { a4 gis a d, }
+allLyrics = \lyricmode {King of glo -- ry }
+<<
+ \new Staff = "Soprano" \sopranoMusic
+ \new Lyrics \allLyrics
+ \new Staff = "Alto" \altoMusic
+ \new Lyrics \allLyrics
+ \new Staff = "Tenor" {
+ \clef "treble_8"
+ \tenorMusic
+ }
+ \new Lyrics \allLyrics
+ \new Staff = "Bass" {
+ \clef "bass"
+ \bassMusic
+ }
+ \new Lyrics \allLyrics
+ \new PianoStaff <<
+ \new Staff = "RH" {
+ \set Staff.printPartCombineTexts = ##f
+ \partcombine
+ \sopranoMusic
+ \altoMusic
+ }
+ \new Staff = "LH" {
+ \set Staff.printPartCombineTexts = ##f
+ \clef "bass"
+ \partcombine
+ \tenorMusic
+ \bassMusic
+ }
+ >>
+>>
+@end lilypond
+
+Unterschiedliche Partituren, die entweder nur den Chor oder das
+Klavier zeigen, können produziert werden, indem die Struktur
+verändert wird; die Noten müssen dazu nicht verändert werden.
+
+Für längere Partituren können Variablen in eigene Dateien notiert
+werden, die dann eingebunden werden, siehe @ref{Including
+LilyPond files}.
@node Using tags
@unnumberedsubsubsec Using tags
-@cindex Erweiterung von Wiederholungen
-@funindex \unfoldRepeats
-
-Mit ein bisschen Anpassung können alle Wiederholungstypen
-auch in der MIDI-Datei wiedergegeben werden. Das wird erreicht
-durch die @code{\unfoldRepeats}-Funktion. Hiermit werden alle
-Wiederholungen, welcher Art auch immer, in notengetreue Wiederholungen
-umgewandelt, die Noten werden also wiederholt ausgegeben.
+@cindex Tag
+@cindex Marke
+@cindex markierte Noten entfernen
+@cindex markierte Noten behalten
+
+@funindex \tag
+@funindex \keepWithTag
+@funindex \removeWithTag
+@funindex tag
+@funindex keepWithTag
+@funindex removeWithTag
+
+Der @code{\tag #'@var{TeilA}}-Befehl markiert einen musikalischen
+Ausdruck mit der Bezeichnung @var{TeilA}. Ausdrücke, die auf diese
+Weise markiert werden, können mit ihrer Bezeichnung später ausgewählt
+bzw. ausgefiltert werden. Das geschieht mit den Befehlen
+@code{\keepWithTag #'@var{Bezeichnung}} bzw. @code{\removeWithTag #'@var{Bezeichnung}}.
+Die Wirkung dieser Filter auf die markierten Notenabschnitte ist
+wie folgt:
+
+@multitable @columnfractions .5 .5
+
+@headitem Filter
+ @tab Resultat
+
+@item
+Markierte Noten mit vorgesetztem @code{\keepWithTag #'@var{Bezeichnung}}
+ @tab Unmarkierte Noten und Noten mit der Marke @var{Bezeichnung} werden
+ gesetzt, Noten mit einer anderen Marke werden nicht angezeigt.
+
+@item
+Markierte Noten mit vorgesetztem @code{\removeWithTag #'@var{Bezeichnung}}
+ @tab Unmarkierte Noten und Noten mit einer anderen Marke als
+ @var{Bezeichnung} wird angezeigt, Noten markiert mit @var{Bezeichnung}
+ werden nicht angezeigt.
+
+@item
+Markierte Noten, weder mit vorgesetztem @code{\keepWithTag} noch
+@code{\removeWithTag}
+ @tab Alle markierten und unmarkierten Noten werden angezeigt.
+
+@end multitable
+
+Die Argumente der Befehle @code{\tag}, @code{\keepWithTag} und
+@code{\removeWithTag} sollten ein Symbol sein (wie etwa
+@code{#'score} oder @code{#'part}), gefolgt von einem musikalischen
+Ausdruck.
+
+Im folgenden Beispiel erscheinen zwei Versionen der Noten, eine
+zeigt Triller in normaler Notation, die andere zeigt sie ausgeschrieben:
+
+@lilypond[verbatim,quote]
+music = \relative g' {
+ g8. c32 d
+ \tag #'trills {d8.\trill }
+ \tag #'expand {\repeat unfold 3 {e32 d} }
+ c32 d
+ }
+
+\score {
+ \keepWithTag #'trills \music
+}
+\score {
+ \keepWithTag #'expand \music
+}
+@end lilypond
-@lilypond[quote,verbatim,fragment,line-width=8.0\cm]
-\unfoldRepeats {
- \repeat tremolo 8 {c'32 e' }
- \repeat percent 2 { c''8 d'' }
- \repeat volta 2 {c'4 d' e' f'}
- \alternative {
- { g' a' a' g' }
- {f' e' d' c' }
- }
+@noindent
+Entsprechend können auch Abschnitte ausgeschlossen werden; das
+erfordert manchmal weniger Schreibarbeit:
+
+@lilypond[verbatim,quote]
+music = \relative g' {
+ g8. c32 d
+ \tag #'trills {d8.\trill }
+ \tag #'expand {\repeat unfold 3 {e32 d} }
+ c32 d
+ }
+
+\score {
+ \removeWithTag #'expand
+ \music
+}
+\score {
+ \removeWithTag #'trills
+ \music
}
-\bar "|."
@end lilypond
-Wenn man eine Partitur schreibt, die diesen @code{\unfoldRepeats}-Befehl
-für die MIDI-Ausgabe benutzt, muss man zwei @code{\score}-Umgebungen
-schreiben: eine für die MIDI-Ausgabe, wo die Wiederholungen ausgeschrieben
-werden, und eine für die gedruckte Notation, in der Klammern, Tremolo und
-Prozent-Wiederholungen benutzt werden. Zum Beispiel:
+Marken können auch auf Artikulationen, Text usw angewendet werden,
+indem man ihnen
@example
-\score @{
- @var{..music..}
- \layout @{ .. @}
-@}
-\score @{
- \unfoldRepeats @var{..music..}
- \midi @{ .. @}
-@}
+-\tag #'@var{your-tag}
@end example
+@noindent
+voranstellt (jedoch nach der Note, an die sie gebunden sind). Mit
+diesem Code etwa könnte man entweder Fingersatz oder aber einen
+Text ausgeben:
+
+@example
+c1-\tag #'finger ^4
+c1-\tag #'warn ^"Achtung!"
+@end example
+
+Mehrfache Marken können mithilfe von mehreren @code{\tag}-Befehlen
+notiert werden:
+
+@lilypond[quote,verbatim]
+music = \relative c'' {
+ \tag #'a \tag #'both { a a a a }
+ \tag #'b \tag #'both { b b b b }
+}
+<<
+\keepWithTag #'a \music
+\keepWithTag #'b \music
+\keepWithTag #'both \music
+>>
+@end lilypond
+
+Mehrfache @code{\removeWithTag}-Filter können auf einen
+musikalischen Ausdruck angewendet werden, um mehrere unterschiedliche
+markierte Abschnitte aus dem Druckbild zu entfernen.
+
+@lilypond[verbatim,quote]
+music = \relative c'' {
+\tag #'A { a a a a }
+\tag #'B { b b b b }
+\tag #'C { c c c c }
+\tag #'D { d d d d }
+}
+{
+\removeWithTag #'B
+\removeWithTag #'C
+\music
+}
+@end lilypond
+
+Zwei oder mehr @code{\keepWithTag}-Filter in einem musikalischen
+Ausdruck bewirken, dass @emph{alle} markierten Abschnitte entfernt
+werden, weil der erste Befehl alle markierten Abschnitt außer dem
+im Befehl genannten wegfiltert und der zweite Befehl dann auch diesen
+eben genannten zusätzlich entfernt.
+
+
+@seealso
+Handbuch zum Lernen:
+@rlearning{Organizing pieces with variables}.
+
+Notationsreferenz:
+@ref{Automatic part combining},
+@ref{Including LilyPond files}.
+
+
+@ignore
+@c This warning is more general than this placement implies.
+@c Rests are not merged whether or not they come from tagged sections.
+@c Should be deleted? -td
+
+@knownissues
+
+Multiple rests are not merged if you create a score with more
+than one tagged section at the same place.
+
+@end ignore
+
@node Text encoding
@subsection Text encoding
-@untranslated
+LilyPond benutzt alle Zeichen, die durch das Unicode-Konsortium
+und ISO/IEC 10646 definiert sind. Hiermit wird den Zeichen
+fast aller Schriftsysteme der Welt ein eindeutiger Name und ein
+Code-Punkt zugewiesen, mit dem sie identifizierbar sind. Unicode
+kann mit mehreren Zeichenkodierungen verwirklicht werden. LilyPond
+benutzt die UTF-8-Kodierung (UTF = Unicode Transformation Format),
+in der die normalen Zeichen des lateinischen Alphabets mit einem
+Byte dargestellt werden, während alle anderen Zeichen zwischen
+zwei und vier Byte Länge haben.
+
+Das Aussehen des Zeichens wird bestimmt durch die gerade benutzte
+Schriftart (engl. font). In einer Schriftartdatei werden die
+Nummern der Unicode-Zeichen einem bestimmten Glyphen zugeordnet.
+LilyPond verwendet die Pango-Bibliothek um mehrsprachige Texte
+und komplexe Skripte korrekt zu setzen.
+
+LilyPond verändert die Kodierung der Eingabedatei nicht. Das heißt,
+dass jeder Text -- Überschriften, Gesangstext, Spielanweisungen etc. --
+der nicht nur aus ASCII-Zeichen besteht, in UTF-8 kodiert sein
+musst. Am einfachsten geht das, indem man einen Texteditor
+einsetzt, der mit Unicode-Zeichen umgehen kann. Die meisten
+modernen weit verbreiteten Editoren besitzen heute UTF-8-Unterstützung,
+wie etwa vim, Emacs, jEdit oder GEdit. Alle MS Windows-Systeme
+nach NT benutzen Unicode intern, sodass sogar Notepad Dateien
+in UTF-8 lesen und speichern kann. Ein Editor mit mehr
+Funktionen unter Windows ist BabelPad oder Notepad++.
+
+Wenn eine LilyPond-Eingabedatei nicht-ASCII-Zeichen enthält
+und nicht in UTF-8 gespeichert ist, gibt es folgende Fehlermeldung:
+
+@example
+FT_Get_Glyph_Name () error: invalid argument
+@end example
+
+Heir ein Beispiel mit Kyrilliza, hebräischem und portugiesischem Text:
+
+@lilypond[quote]
+%c No verbatim here as the code does not display correctly in PDF
+% Cyrillic
+bulgarian = \lyricmode {
+ Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
+}
+
+% Hebrew
+hebrew = \lyricmode {
+ זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
+}
+
+% Portuguese
+portuguese = \lyricmode {
+ à vo -- cê uma can -- ção legal
+}
+
+\relative {
+ c2 d e f g f e
+}
+\addlyrics { \bulgarian }
+\addlyrics { \hebrew }
+\addlyrics { \portuguese }
+@end lilypond
+
+Um einen einzelnen Buchstaben zu notieren, für den die Unicode-Buchstabenfolge
+bekannt ist, der aber nicht auf der Tastatur zu finden ist, kann
+der Befehl @code{\char ##xhhhh} innerhalb einer @code{\markup}-Umgebung
+benutzt werden. Hierbei bedeutet @code{hhhh} die hexadezimale Zahl
+für das erforderliche Zeichen. Mit @code{\char ##x03BE} wird
+beispielsweise das Unicode-Zeichen U+03BE notiert, welches die
+Unicode-Bezeichnung @qq{Greek Small Letter Xi} hat. Alle existierenden
+Unicode-Zeichen können auf diese Weise notiert werden, und wenn für alle
+Zeichen dieses Format angewandt wird, muss die Datei nicht im utf-8-Format
+gespeichert werden. Es muss natürlich auch noch eine Schriftart auf
+dem System installiert sein, die die notierten Zeichen darstellen kann.
+
+Das nächste Beispiel zeigt Unicode-Zeichen an vier Stellen mit dem
+Zahlencode notiert: in einem Übungszeichen, als Artikulationszeichen,
+im Gesangstext und als normaler Text außerhalb der Partitur.
+
+@lilypond[quote,verbatim]
+\score {
+ \relative c'' {
+ c1 \mark \markup { \char ##x03EE }
+ c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
+ }
+ \addlyrics { O \markup { \concat{ Ph \char ##x0153 be! } } }
+}
+\markup { "Copyright 2008" \char ##x00A9 }
+@end lilypond
+
+Um das Copyright-Zeichen zu notieren, kann folgender Code eingesetzt werden:
+
+@example
+\header @{
+ copyright = \markup @{ \char ##x00A9 "2008" @}
+@}
+@end example
@node Displaying LilyPond notation
@subsection Displaying LilyPond notation
-@untranslated
+@funindex \displayLilyMusic
+Ein musikalischer Ausdruck in LilyPond-Notation kann mit der Funktion
+@code{\displayMusic} angezeigt werden. Der Code
-@node Controlling output
-@section Controlling output
+@example
+@{
+ \displayLilyMusic \transpose c a, @{ c e g a bes @}
+@}
+@end example
-@untranslated
+@noindent
+etwa wird ausgeben:
+
+@example
+@{ a, cis e fis g @}
+@end example
+Normalerweise werden diese Zeilen zusammen mit allen anderen
+Nachrichten auf der Kommandozeile ausgegeben. Um sie separat zu
+speichern und das Ergebnis von @code{\displayMusic} weiterzubenutzen,
+kann die Ausgabe mit folgendem Befehl in eine Datei umgeleitet werden:
+
+@c TODO What happens under Windows?
+
+@example
+lilypond file.ly >display.txt
+@end example
+
+
+
+@node Controlling output
+@section Controlling output
@menu
-* Extracting fragments of music::
-* Skipping corrected music::
+* Extracting fragments of music::
+* Skipping corrected music::
@end menu
+
@node Extracting fragments of music
@subsection Extracting fragments of music
-@untranslated
+Es ist möglich, kleine Abschnitte einer großen Partitur direkt aus der
+Quelldatei zu erzeugen. Das kann damit verglichen werden, dass man
+mit der Schere bestimmte Regionen ausschneidet.
+
+Es wird erreicht, indem man die Takte, die ausgeschnitten werden sollen
+(engl. to clip = ausschneiden), extra definiert. Mit folgender
+Defintion beispielsweise
+
+@verbatim
+\layout {
+ clip-regions
+ = #(list
+ (cons
+ (make-rhythmic-location 5 1 2)
+ (make-rhythmic-location 7 3 4)))
+}
+@end verbatim
+
+@noindent
+wird ein Fragment ausgeschnitten, dass auf der Mitte des fünften Taktes
+beginnt und im siebten Takt endet. Die Bedeutung von @code{5 1 2} ist:
+nach einer Halben in Takt fünf, @code{7 3 4} heißt: nach drei Vierteln
+in Takt 7.
+
+Weitere Bereiche, die ausgeschnitten werden sollen, können definiert
+werden, indem mehrere derartige Paare definiert werden.
+
+Um diese Funktion auch nutzen zu können, muss LilyPond mit dem
+Parameter @code{-dclip-systems} aufgerufen werden. Die Schnipsel
+werden als EPS ausgegeben und dann zu PDF und PNG konvertiert, wenn
+diese Formate auch als Parameter angegeben werden.
+
+Zu mehr Information über Ausgabeformate siehe @rprogram{Invoking lilypond}.
@node Skipping corrected music
@subsection Skipping corrected music
-@untranslated
+
+@funindex skipTypesetting
+@funindex showFirstLength
+@funindex showLastLength
+
+Wenn man Noten eingibt oder kopiert, sind meistens nur die Noten nahe dem
+Ende (wo gerade neue Noten notiert wurden) wichtig für Kontrolle und
+Korrektur. Um die Korrektur zu beschleunigen, kann eingestellt werden,
+dass nur die letzten paar Takte angezeigt werden. Das erreicht man
+mit dem Befehl
+
+@verbatim
+showLastLength = R1*5
+\score { ... }
+@end verbatim
+
+@noindent
+in der Quelldatei. Damit werden nur die letzten fünf Takte (in einem
+4/4-Takt) eines jeden @code{\score}-Abschnitts übersetzt. Besonders
+bei längeren Stücken ist es meistens sehr viel schneller, nur einen
+kleinen Teil des Stückes zu setzen als die gesamte Länge. Wenn man
+am Anfang eines Stückes arbeitet (weil etwa ein neuer Teil hinzugefügt
+werden soll), kann auch die @code{showFirstLength}-Eigenschaft
+nützlich sein.
+
+Nur bestimmte Teile einer Partitur zu überspringen, kann mit der
+Eigenschaft @code{Score.skipTypesetting} sehr genau kontrolliert
+werden. Für den Bereich, für den sie auf @qq{wahr} gesetzt wird,
+wird kein Notensatz ausgegeben.
+
+Diese Eigenschaft kann auch benutzt werden, um die MIDI-Ausgabe zu
+kontrollieren. Hiermit werden alle Ereignisse, auch Tempo- und
+Instrumentenwechsel ausgelassen. Man muss also sehr genau darauf
+achten, dass nichts unerwartetes geschieht.
+
+@lilypond[quote,fragment,ragged-right,verbatim]
+\relative c'' {
+ c8 d
+ \set Score.skipTypesetting = ##t
+ e e e e e e e e
+ \set Score.skipTypesetting = ##f
+ c d b bes a g c2 }
+@end lilypond
+
+In polyphoner Notation wirkt sich @code{Score.skipTypesetting} auf
+alle Stimmen und Systeme aus, sodass noch mehr Zeit bei der
+Übersetzung der Datei gespart wird.
@node MIDI output
@section MIDI output
-@untranslated
+@cindex Klang
+@cindex MIDI
+
+MIDI (Musical Instrument Digital Interface) ist ein Standard zur
+Kontrolle und Interaktion mit digitalen Instrumenten. Eine
+MIDI-Datei ist eine Anzahl von Noten auf einer Anzahl von
+Bändern/Stimmen. Es ist keine eigentliche Klangdatei, denn man
+benötigt spezielle Programme die die Notenereignisse in Klang
+umwandeln können.
+
+Der Notensatz von LilyPond kann in MIDI umgewandelt werden, so dass
+man sich anhören kann, was man notiert hat. Das hilft oft sehr gut
+bei der Überprüfung: falsche Oktaven oder falsche Versetzungszeichen
+lassen sich meist sehr gut hören.
+
+Die MIDI-Ausgabe benötigt einen Kanal für jedes System und einen für
+globale Einstellungen. Darum sollte die Quelldatei für eine MIDI-Datei
+nicht mehr als 15 Systeme (oder 14 wenn kein Schlagzeug benützt wird)
+besitzen. Jedes weitere System bleibt stumm.
@menu
-* Creating MIDI files::
-* MIDI block::
-* What goes into the MIDI output?::
-* Repeats in MIDI::
-* Controlling MIDI dynamics::
-* Percussion in MIDI::
+* Creating MIDI files::
+* MIDI block::
+* What goes into the MIDI output?::
+* Repeats in MIDI::
+* Controlling MIDI dynamics::
+* Percussion in MIDI::
@end menu
+
@node Creating MIDI files
@subsection Creating MIDI files
-@untranslated
+Um eine MIDI-Datei aus einer LilyPond-Quelldatei zu erstellen, muss
+eine @code{\midi}-Umgebung zu der @code{\score}-Umgebung hinzugefügt
+werden, etwa so:
+
+@example
+\score @{
+ @var{...Noten...}
+ \midi @{ @}
+@}
+@end example
+
+Wenn in einer @code{\score}-Umgebung nur eine @code{\midi}-Umgebung,
+aber keine @code{\layout}-Umgebung vorkommt, wird nur MIDI produziert.
+Wenn auch die Notation gewünscht ist, muss zusätzlich die
+@code{\layout}-Umgebung vorhanden sein:
+
+@example
+\score @{
+ @var{...music...}
+ \midi @{ @}
+ \layout @{ @}
+@}
+@end example
+
+Tonhöhen, Rhythmen, Überbindungen, Dynamik und Tempoänderungen werden
+korrekt in das MIDI-Format übersetzt. Dynamikzeichen, Crescendo und
+Decrescendo werden in den MIDI-Lautstärkekanal übertragen. Dynamikzeichen
+werden in einen bestimmten Lautstärkenwert übersetzt, Crescendo und
+Decrescendo erreichen einen Übergang zwischen Lautstärkewerten.
+Die Wirkung von Dynamikzeichen kann auch aus der MIDI-Datei entfernt
+werden. Siehe hierzu @ref{MIDI block}.
+
+Das Anfangstempo und spätere Tempoänderungen können mit dem
+@code{\tempo}-Befehl innerhalb der Notation notiert werden. Er
+bewirkt Tempoänderungen auch in der MIDI-Datei. Der Befehl setzt
+gleichzeitig auch eine Tempobezeichnung in die Noten, welches aber
+auch unterdrückt werden kann, siehe @ref{Metronome marks}. Eine
+andere möglichkeit, ein eigenes MIDI-Tempo anzugeben, wird weiter
+unten gezeigt, siehe @ref{MIDI block}.
@unnumberedsubsubsec Instrument names
+
+@cindex Instrumentbezeichnungen
+
+@funindex Staff.midiInstrument
+
+Das MIDI-Instrument, mit dem ein bestimmtes System wiedergegeben
+werden soll, wird durch die @code{Staff.midiInstrument}-Eigenschaft
+bestimmt, die auf eine Instrumentenbezeichnung gesetzt werden muss.
+Die Bezeichnungen sind aufgelistet in @ref{MIDI instruments} und müssen
+in der dort definierten Schreibweise notiert werden.
+
+@example
+\new Staff @{
+ \set Staff.midiInstrument = #"glockenspiel"
+ @var{...Noten...}
+@}
+@end example
+
+@example
+\new Staff \with @{midiInstrument = #"cello"@} @{
+ @var{...Noten...}
+@}
+@end example
+
+Wenn die Schreibweise nicht genau einem definierten Instrument aus
+der Liste entpsricht, wird ein Piano-Klang benutzt (@code{"acoustic grand"}).
+
+@snippets
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{changing-midi-output-to-one-channel-per-voice.ly}
+
+@knownissues
+
+Veränderungen der MIDI-Lautstärke sind nur effektiv, wenn sie zu Beginn
+einer Note angefordert werden, sodass die Lautstärke während einer Notendauer
+nicht geändert werden kann.
+
+Nicht alle MIDI-Spieler können Tempoänderungen richtig wiedergeben.
+Spieler, die hierzu in der Lage sind, sind unter Anderen MS Windows Media
+Player und @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
+
+
@node MIDI block
@subsection MIDI block
-@untranslated
+@cindex MIDI-Umgebung
+
+Eine @code{\midi}-Umgebung muss innerhalb von einer @code{\score}-Umgebung
+vorkommen, wenn MIDI-Ausgabe gewünscht ist. Sie entspricht der
+@code{\layout}-Umgebung, aber ist etwas einfacher aufgebaut. Oft wird
+die MIDI-Umgebung einfach leer gelassen, aber hier können auch
+Kontexte umgeändert werden, neue Kontexte definiert werden oder
+neue Werte definiert werden. Das folgende Beispiel etwa definiert
+das MIDI-Tempo, ohne dass in der Partitur eine Metronombezeichnung
+gesetzt wird:
+
+@example
+\score @{
+ @var{...Noten...}
+ \midi @{
+ \context @{
+ \Score
+ tempoWholesPerMinute = #(ly:make-moment 72 4)
+ @}
+ @}
+@}
+@end example
+
+Hier wird das Tempo auf 72 Viertelnoten pro Minute definiert. Wenn
+das Tempo auf diese Weise definiert wird, kann keine punktierte
+Note als Einheit angegeben werden. Wenn sie benötigt wird, muss
+man sie in kleinere Einheiten auflösen. Ein Tempo von 90 punktierten
+Viertelnoten pro Minute kann beispielsweise dargestellt werden
+als 270 Achtelnoten pro Minute:
+
+@example
+tempoWholesPerMinute = #(ly:make-moment 270 8)
+@end example
+
+@cindex MIDI-Kontextdefinitionen
+
+Kontextdefinitionen des @code{\midi}-Kontextes entsprechen
+der Syntax, wie sie in der @code{\layout}-Umgebung benutzt
+wird. Klangübersetzungsmodule werden @code{performer}
+genannt. Die Kontexte für die MIDI-Ausgabe sind in der
+Datei @file{../ly/@/performer@/-init@/.ly} definiert, siehe
+@rlearning{Other sources of information}. Um beispielsweise
+die Auswirkung von Dynamikzeichen aus der MIDI-Ausgabe zu
+entfernen, müssen folgende Zeilen eingefügt werden:
+
+@example
+\midi @{
+ ...
+ \context @{
+ \Voice
+ \remove "Dynamic_performer"
+ @}
+@}
+@end example
+
+Eine MIDI-Ausgabe wird nur erstellt, wenn die @code{\midi}-Umgebung
+in eine Partiturumgebung eingefügt wird, die mit dem Befehl
+@code{\score} beginnt. Wenn eine Partitur explizit etwa mit
+@code{\new Score} begonnen wird, und sich die MIDI-Umgebung hierin
+befindet, wird keine Ausgabe produziert. Eine Lösung ist es, sowohl
+die @code{\new Score}- als auch die @code{\midi}-Umgebungen in eine
+@code{\score}-Umgebung einzuschließen.
+
+@example
+\score @{
+ \new Score @{ @dots{}Noten@dots{} @}
+ \midi @{ @}
+@}
+@end example
@node What goes into the MIDI output?
@subsection What goes into the MIDI output?
-@untranslated
-
@unnumberedsubsubsec Supported in MIDI
+
+@cindex Tonhöhen in MIDI
+@cindex MIDI, Tonhöhen
+@cindex Vierteltöne in MIDI
+@cindex MIDI, Vierteltöne
+@cindex Mikrotöne in MIDI
+@cindex MIDI, Mikrotöne
+@cindex Akkordsymbole in MIDI
+@cindex MIDI, Akkordsymbole
+@cindex Rhythmen in MIDI
+@cindex MIDI, Rhythmen
+
+Die folgenden Notationselemente werden in die MIDI-Ausgabe aufgenommen:
+
+@itemize
+@item Tonhöhen
+@item Vierteltöne (siehe @ref{Accidentals}. Für die Ausgabe wird ein
+Spieler benötigt, der Tonhöhen verändern kann.)
+@item Akkorde, die als Symbole notiert werden
+@item Rhythmen, die als Dauern notiert sind, inklusive N-tolen
+@item Tremolo, das ohne @q{@code{:}[@var{Zahl}]} notiert ist
+@item Überbindungen
+@item Dynamikzeichen
+@item Crescendi, decrescendi zu mehreren Noten
+@item Tempoänderungen, die mit einer Tempo-Bezeichnung eingegeben werden
+@item Gesangstext
+@end itemize
+
+
@unnumberedsubsubsec Unsupported in MIDI
+
+Folgende Notationselemente werden nicht in die MIDI-Ausgabe einbeozogen:
+
+@itemize
+@item Rhythmus, der als Anmerkung notiert wird, bspw. Swing
+@item Tempoveränderungen, die als Anmerkung ohne Tempobezeichnung notiert werden
+@item Staccato und andere Artikultationen und Ornamente
+@item Legato- und Phrasierungsbögen
+@item Crescendi, decrescendi zu einer einzelnen Note
+@item Tremolo, notiert mit @q{@code{:}[@var{number}]}
+@item Bezifferter Bass
+@end itemize
+
+
@node Repeats in MIDI
@subsection Repeats in MIDI
-@untranslated
+@cindex Wiederholungen in MIDI
+@cindex MIDI und Wiederholungen
+
+@funindex \unfoldRepeats
+
+Mit einigen Veränderungungen im Notentext können alle Wiederholungstypen
+auch in der MIDI-Ausgabe wiedergegeben werden. Das wird erreicht, indem
+die @code{\unfoldRepeats}-Funktion eingesetzt wird. Diese Funktion
+verändert alle Wiederholungen in ausgeschriebene Noten.
+
+@lilypond[quote,verbatim]
+\unfoldRepeats {
+ \repeat tremolo 8 {c'32 e' }
+ \repeat percent 2 { c''8 d'' }
+ \repeat volta 2 {c'4 d' e' f'}
+ \alternative {
+ { g' a' a' g' }
+ {f' e' d' c' }
+ }
+}
+\bar "|."
+@end lilypond
+
+Wenn eine Partitur mit diesem Befehl erstellt wird, ist er notwendig,
+zwei @code{\score}-Umgebungen einzurichten: in der einen werden die
+Wiederholungen ausgeschrieben und nur eine MIDI-Ausgabe produziert,
+in der anderen werden die Wiederholungen notiert und als Partitur
+gesetzt. Das Beispiel gibt einen Hinweis, wie eine derartige Datei
+aussehen kann:
+
+@example
+\score @{
+ @var{..music..}
+ \layout @{ .. @}
+@}
+\score @{
+ \unfoldRepeats @var{..music..}
+ \midi @{ .. @}
+@}
+@end example
@node Controlling MIDI dynamics
@subsection Controlling MIDI dynamics
-@untranslated
+Dynamik in der MIDI-Ausgabe wird durch den Dynamic_performer
+erstellt, welcher sich in einem @code{Voice}-Kontext befindet.
+Es ist möglich, sowohl die generelle Lautstärke einer MIDI-Datei
+als auch relative Lautstärken von Dynamikanweisungen und auch
+relative Lautstärke von einzelnen Instrumenten einzustellen.
@unnumberedsubsubsec Dynamic marks
+
+
+Dynamikanweisungen werden als ein bestimmter Bruch der insgesamt
+zur Verfügung stehenden MIDI-Lautstärke notiert. Die Standardbrüche
+reichen von 0,25 für @notation{ppppp} bis hin zu 0,95 für
+@notation{fffff}. Diese Anweisung befinden sich in der Datei
+@file{../scm/midi.scm}, siehe auch @rlearning{Other sources of information}.
+Diese Brüche können nach Belieben geändert oder erweitert werden, indem
+eine Funktion erstellt wird, die ein Dynamikzeichen als Argument
+nimmt und den erforderlichen Bruch ausgibt; schließlich muss noch
+@code{Score.dynamicAbsoluteVolumeFunction} auf diese Funktion
+gesetzt werden.
+
+Beispielhaft soll gezeigt werden, wie man eine @notation{Rinforzando}-Dynamik,
+@code{\rfz}, auch in die MIDI-Ausgabe übernehmen kann. Gleiches gilt
+für neue, selbstdefinierte Dynamikzeichen, die in den Standarddefinitionen
+nicht enthalten sind. Die Scheme-Funktion, die hier definiert wird,
+setzt den Bruch von 0,9 für eine rfz-Anweisung und ruft andernfalls die
+Standardanweisungen auf:
+
+@lilypond[verbatim,quote]
+#(define (myDynamics dynamic)
+ (if (equal? dynamic "rfz")
+ 0.9
+ (default-dynamic-absolute-volume dynamic)))
+
+\score {
+ \new Staff {
+ \set Staff.midiInstrument = #"cello"
+ \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
+ \new Voice {
+ \relative c'' {
+ a\pp b c-\rfz
+ }
+ }
+ }
+ \layout {}
+ \midi {}
+}
+@end lilypond
+
+Alternativ, insbesondere wenn die gesamte Tabelle der MIDI-Lautstärken
+umdefiniert werden soll, ist es besser, die
+@notation{default-dynamic-absolute-volume}-Prozedur in der Datei
+@file{../scm/midi.scm} und die hiermit verknüpfte Tabelle als Modell
+zu benutzen. Das letzte Beispiel dieses Abschnittes zeigt, wie das
+gemacht werden kann.
+
+
@unnumberedsubsubsec Overall MIDI volume
+
+Die generellen Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
+wird kontrolliert, indem die Eigenschaften @code{midiMinimumVolume}
+unde @code{midiMaximumVolume} auf der @code{Score}-Ebene gesetzt
+werden. Diese Eigenschaften haben nur Einfluss auf Dynamikzeichen, sodass
+ein Dynamikzeichen direkt an den Anfang der Partitur gestellt werden muss,
+wenn diese Einstellung von Anfang an Wirkung zeigen soll. Der Bruch,
+der dann den einzelnen Dynamikzeichen entspricht, wird mit der
+Formel
+
+@example
+midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * Bruch
+@end example
+
+@noindent
+errechnet. Im folgenden Beispiel wird die generelle MIDI-Lautstärke
+auf den Bereich zwischen 0.2 und 0.5 eingeschränkt.
+
+@lilypond[verbatim,quote]
+\score {
+ <<
+ \new Staff {
+ \key g \major
+ \time 2/2
+ \set Staff.midiInstrument = #"flute"
+ \new Voice \relative c''' {
+ r2 g\mp g fis ~
+ fis4 g8 fis e2 ~
+ e4 d8 cis d2
+ }
+ }
+ \new Staff {
+ \key g \major
+ \set Staff.midiInstrument = #"clarinet"
+ \new Voice \relative c'' {
+ b1\p a2. b8 a
+ g2. fis8 e
+ fis2 r
+ }
+ }
+ >>
+ \layout { }
+ \midi {
+ \context {
+ \Score
+ tempoWholesPerMinute = #(ly:make-moment 72 2)
+ midiMinimumVolume = #0.2
+ midiMaximumVolume = #0.5
+ }
+ }
+}
+@end lilypond
+
+
@unnumberedsubsubsec Equalizing different instruments (i)
+
+Wenn die Mindest- und Höchstwerte für die MIDI-Lautstärke
+innerhalb eines @code{Staff}-Kontextes gesetzt werden,
+kann damit die relative Lautstärke einzelner Instrumente kontrolliert
+werden. Damit kann man die Qualität der MIDI-Datei
+merklich verbessern.
+
+In diesem Beispiel wird die Lautstärke der Klarinette relativ
+zur Lautstärke der Flöte verringert. In jeder Stimme muss
+eine Dynamikanweisung für die erste Note gesetzt werden, damit
+diese Einstellung korrekt funktioniert.
+
+@lilypond[verbatim,quote]
+\score {
+ <<
+ \new Staff {
+ \key g \major
+ \time 2/2
+ \set Staff.midiInstrument = #"flute"
+ \set Staff.midiMinimumVolume = #0.7
+ \set Staff.midiMaximumVolume = #0.9
+ \new Voice \relative c''' {
+ r2 g\mp g fis ~
+ fis4 g8 fis e2 ~
+ e4 d8 cis d2
+ }
+ }
+ \new Staff {
+ \key g \major
+ \set Staff.midiInstrument = #"clarinet"
+ \set Staff.midiMinimumVolume = #0.3
+ \set Staff.midiMaximumVolume = #0.6
+ \new Voice \relative c'' {
+ b1\p a2. b8 a
+ g2. fis8 e
+ fis2 r
+ }
+ }
+ >>
+ \layout { }
+ \midi {
+ \context {
+ \Score
+ tempoWholesPerMinute = #(ly:make-moment 72 2)
+ }
+ }
+}
+@end lilypond
+
+
@unnumberedsubsubsec Equalizing different instruments (ii)
+Wenn Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
+nicht vorgegeben werden, nimmt LilyPond standardmäßig einige
+Anpassungen für die Lautstärken bestimmter Instrumente vor.
+Diese Instrumente und ihre entsprechende Veränderung lassen
+sich aus der Tabelle @notation{instrument-equalizer-alist}
+in der Datei @file{../scm/midi.scm} entnehmen.
+
+Dieser grundlegende Equalizer kann ersetzt werden, indem die
+Funktion @code{instrumentEqualizer} im @code{Score}-Kontext auf
+eine neue Scheme-Funktion gesetzt wird, die MIDI-Instrumentbezeichnungen
+als einziges Argument akzeptiert und ein Zahlenpaar ausgibt, das
+den Höchst- und Mindestwert für die Lautstärke des entpsrechenden
+Instruments darstellt. Die Ersetzung der Standardfunktion wird
+auf gleiche Weise vorgenommen, wie es schon für die
+@code{dynamicAbsoluteVolumeFunction} zu Beginn dieses Abschnittes
+gezeigt wurde. Der Standard-Equalizer,
+@notation{default-instrument-equalizer} in der Datei
+@file{../scm/midi.scm} zeigt, wie solche eine Funktion erstellt werden
+kann.
+
+Das folgende Beispiel definiert für die Flöte und Klarinette relative
+Lautstärkewerte, die denen des vorigen Beispiels entsprechen.
+
+@lilypond[verbatim,quote]
+#(define my-instrument-equalizer-alist '())
+
+#(set! my-instrument-equalizer-alist
+ (append
+ '(
+ ("flute" . (0.7 . 0.9))
+ ("clarinet" . (0.3 . 0.6)))
+ my-instrument-equalizer-alist))
+
+#(define (my-instrument-equalizer s)
+ (let ((entry (assoc s my-instrument-equalizer-alist)))
+ (if entry
+ (cdr entry))))
+
+\score {
+ <<
+ \new Staff {
+ \key g \major
+ \time 2/2
+ \set Score.instrumentEqualizer = #my-instrument-equalizer
+ \set Staff.midiInstrument = #"flute"
+ \new Voice \relative c''' {
+ r2 g\mp g fis ~
+ fis4 g8 fis e2 ~
+ e4 d8 cis d2
+ }
+ }
+ \new Staff {
+ \key g \major
+ \set Staff.midiInstrument = #"clarinet"
+ \new Voice \relative c'' {
+ b1\p a2. b8 a
+ g2. fis8 e
+ fis2 r
+ }
+ }
+ >>
+ \layout { }
+ \midi {
+ \context {
+ \Score
+ tempoWholesPerMinute = #(ly:make-moment 72 2)
+ }
+ }
+}
+@end lilypond
+
+
+
@node Percussion in MIDI
@subsection Percussion in MIDI
-@untranslated
+Schlagzeuginstrumente werden üblicherweise in einem @code{DrumStaff}-Kontext
+notiert. Aus diese Weise werden sie korrekt in den MIDI-Kanal@tie{}10
+ausgegeben. Eine Schlagzeuge mit diskreten Tonhöhen, wie Xylophon,
+Marima, Vibraphone, Pauken usw. werden wie @qq{normale} Instrumente
+in einem @code{Staff}-Kontext notiert. Nur so lässt sich auch hier
+eine richtige MIDI-Ausgabe erreichen.
+
+Einige Instrumente, die keine diskreten Tonhöhen haben, können nicht
+über den MIDI-Kanal@tie{}10 erreicht werden und müssen deshalb in
+einem normalen @code{Staff}-Kontext notiert werden. Es handelt sich
+um @code{melodic tom, taiko drum, synth drum} usw.
+
+Viele Schlagzeuginstrumnete sind nicht in den MIDI-Standard aufgenommen,
+z. B. Kastagnetten. Die einfachste Methode, derartige Instrumente
+zu ersetzen, ist, einen Klang auszuwählen, der ihnen halbwegs ähnlich
+kommt.
+
+
+@knownissues
+
+Weil der MIDI-Standard keine Peitschenschläge kennt, wird ein
+Schlagstock (sidestick) für diesen Zweck eingesetzt.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 4770e4e71ebff6104cad46bd2d889c3ff6ba3875
+ Translation of GIT committish: 23342b5b9f69f3a82751052f79f3fede0bb40ded
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@seealso
Notationsreferenz:
-@ruser{Tremolo repeats}
-@ruser{Glissando}
-@ruser{Arpeggio}
-@ruser{Harmonics}
+@ref{Tremolo repeats}
+@ref{Glissando}
+@ref{Arpeggio}
+@ref{Harmonics}
@seealso
Notationsreferenz:
-@ruser{Text scripts}
-@ruser{Instrument Specific Markup}
+@ref{Text scripts}
+@ref{Instrument Specific Markup}.
@c -*- coding: utf-8; mode: texinfo; -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 2c00bdbfaf62dd90863331c4713e6b29e32c9322
+ Translation of GIT committish: 23342b5b9f69f3a82751052f79f3fede0bb40ded
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@tab
Verminderter Dreklang, kleine Sept
@tab
-@code{dim5m7}
+@code{m7.5-}
@tab
@lilypond[line-width=3\cm,noragged-right, notime]
\chordmode {
- c1:dim5m7
+ c1:m7.5-
}
@end lilypond
@tab
Molldreiklang, Durseptime
@tab
-@code{7m5}
+@code{maj7.5-}
@tab
@lilypond[line-width=3\cm,noragged-right, notime]
\chordmode {
- c1:7m5
+ c1:maj7.5-
}
@end lilypond
@end lilypond
@item
-Dominantnon
+Dominantnone
@tab
Dominantsept, große None
@tab
@item
Dur None
@tab
-TODO
+Große None, große Septime
@tab
@code{maj9}
@tab
@item
Moll None
@tab
-TODO
+Große None, kleine Septime
@tab
@code{m9}
@tab
@end lilypond
@item
-Dominantundecime
+Dominantundezime
@tab
-Dominant ninth, perfect eleventh
+Dominantnone, perfekte Undezime
@tab
@code{11}
@tab
@end lilypond
@item
-Durundecime
+Durundezime
@tab
-TODO
+Große None, perfekte Unidezime
@tab
@code{maj11}
@tab
@end lilypond
@item
-Mollundecime
+Mollundezime
@tab
-TODO
+Kleine None, perfekte Undezime
@tab
@code{m11}
@tab
@item
Dominant-13
@tab
-Dominant eleventh, major thirteenth
+Dominantnone, große 13
+@tab
+@code{13}
+@tab
+@lilypond[line-width=3\cm,noragged-right, notime]
+\chordmode {
+ c1:13
+}
+@end lilypond
+
+@item
+Dominant-13
@tab
@code{13.11}
@tab
@item
Dur-13
@tab
-TODO
+Große Undezime, große 13
@tab
@code{maj13.11}
@tab
@item
Moll-13
@tab
-TODO
+Kleine Undezime, große 13
@tab
@code{m13.11}
@tab
@end lilypond
@item
-erniedrigte Sekunde
+Sekundakkord
@tab
-TODO
+große Sekunde, perfekte Quinte
@tab
@code{sus2}
@tab
@end lilypond
@item
-erniedrigte Quarte
+Quartakkord
@tab
-TODO
+perfekte Quarte, perfekte Quinte
@tab
@code{sus4}
@tab
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 2c00bdbfaf62dd90863331c4713e6b29e32c9322
+ Translation of GIT committish: 23342b5b9f69f3a82751052f79f3fede0bb40ded
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@snippets
-FIXME: MOVE ALL THESE TO LSR! -gp
-
Hier einige Beispiele:
Zwei Holzblöcke, notiert mit wbh (hoch) und wbl (tief)
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: 4770e4e71ebff6104cad46bd2d889c3ff6ba3875
+ Translation of GIT committish: 23342b5b9f69f3a82751052f79f3fede0bb40ded
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: de -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: b4a63b6e388283e2f2ac73c3c99da205d209e28a
+ Translation of GIT committish: 8405b88e6c1aac6c44e6064dd7b8b1674d6e7abd
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: de -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 4770e4e71ebff6104cad46bd2d889c3ff6ba3875
+ Translation of GIT committish: 23342b5b9f69f3a82751052f79f3fede0bb40ded
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; -*-
@ignore
- Translation of GIT committish: 2c00bdbfaf62dd90863331c4713e6b29e32c9322
+ Translation of GIT committish: 23342b5b9f69f3a82751052f79f3fede0bb40ded
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; -*-
@c This file is part of lilypond-learning.tely
@ignore
- Translation of GIT committish: 4770e4e71ebff6104cad46bd2d889c3ff6ba3875
+ Translation of GIT committish: 23342b5b9f69f3a82751052f79f3fede0bb40ded
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
von der des @code{\override}-Befehls unterscheidet. Weder
Kontext noch Layout-Objekt konnen angegeben werden, denn
das würde zu einem Fehler führen. Beide Angaben sind
-durch das folgende Element impliziert. Die verallgemeinerte
+durch das folgende Element impliziert. Hier sollte auch
+kein Gleichheitzeichen vorhanden sein. Die verallgemeinerte
Syntax des @code{\tweak}-Befehls ist also einfach
@example
-\tweak #'@var{layout-eigenschaft} = #@var{Wert}
+\tweak #'@var{layout-eigenschaft} #@var{Wert}
@end example
Ein @code{\tweak}-Befehl kann auch benutzt werden, um nur
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: 4770e4e71ebff6104cad46bd2d889c3ff6ba3875
+ Translation of GIT committish: 23342b5b9f69f3a82751052f79f3fede0bb40ded
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
- <p><i>Actualizado en Sun Dec 21 09:36:02 UTC 2008
+ <p><i>Actualizado en Sun Dec 28 01:18:10 UTC 2008
</i></p>
<html>
<!-- This page is automatically generated by translation-status.py from
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>2.4 Instrumentos de cuerda con trastes<br>(1830)</td>
+ <td>2.4 Instrumentos de cuerda con trastes<br>(1850)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sí</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>2.7 Notación de acordes<br>(1398)</td>
+ <td>2.7 Notación de acordes<br>(1464)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sí</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>2.8 Notación antigua<br>(4486)</td>
+ <td>2.8 Notación antigua<br>(4487)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sí</span></td>
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: d5bd12a5775832e81000fb901ad65283a152eaa4
+ Translation of GIT committish: 0f749d4980bcd5d633037336f1a91472ab710a8d
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
mensural ni neo-mensural. En su lugar se tomarán los silencios del
estilo predeterminado.
-Consulte @rlsr{Pitches,rests} para ver un cuadro de todos los
+Consulte @rlsr{Ancient notation} para ver un cuadro de todos los
silencios.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: bc4543c30c67f02dadc392880f27d4581e2d7681
+ Translation of GIT committish: 4f8c7b381812949e6f765f641fba9108b52af56b
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@funindex m
La tabla que aparece más abajo muestra el efecto de los modificadores
-de variante sobre los acordes de tríada y de séptima.
+de variante sobre los acordes de tríada y de séptima. La séptima
+añadida de forma predeterminada a los acordes es menor, lo que hace
+del acorde de séptima dominante el acorde básico de séptima. Todas
+las alteraciones se consideran en relación con la séptima dominante.
+Hay una tabla más completa donde aparecen los usos de los
+modificadores en @ref{Common chord modifiers}.
@c @table @code
@multitable @columnfractions .2 .4 .3
@item
m, m7
@tab
-Acorde menor. Este modificador baja la tercera y, si existe, la
-séptima.
+Acorde menor. Este modificador baja la tercera.
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
El primer número que sigue al @code{:} se considera que es el ámbito
del acorde. El acorde se construye secuencialmente añadiendo terceras
-a la fundamental hasta que se alcanza el número especificado. Si el
-ámbito no es una tercera (p.ej. 6), se añaden terceras hasta la
-tercera más alta inferior al ámbito, y después se añade la nota del
-ámbito. El mayor valor posible para el ámbito es 13. Cualquier valor
-mayor se interpreta como 13.
+a la fundamental hasta que se alcanza el número especificado. Observe
+que la séptima añadida como parte de un acorde extendido es la séptima
+menor, no mayor. Si el ámbito no es una tercera (p.ej. 6), se añaden
+terceras hasta la tercera más alta inferior al ámbito, y después se
+añade la nota del ámbito. El mayor valor posible para el ámbito es
+13. Cualquier valor mayor se interpreta como 13.
@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
\chordmode {
@cindex adiciones en acordes
Se pueden añadir notas individuales a un acorde. Las adiciones siguen
-el ámbito y van prefijadas por un punto (@code{.}).
+el ámbito y van prefijadas por un punto (@code{.}). La séptima normal
+que se añade a un acorde es la séptima menor, no mayor.
@lilypond[quote,verbatim,fragment,relative=1]
\chordmode {
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: ac8805d20e179145e3f3371032fe54156d84b0d0
+ Translation of GIT committish: 4f8c7b381812949e6f765f641fba9108b52af56b
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
de formas de acorde. Las formas de acorde son diagramas de traste que
se pueden desplazar por el mástil para dar acordes distintos. Se
pueden añadir formas de acorde a la lista interna y luego usarlas para
-definir diagramas de traste predefinidos. Como los diagramas de
+definir diagramas de posición predefinidos. Dado que se pueden mover
+a distintas posiciones dentro del mástil, las formas de acorde
+normalmente no contienen cuerdas al aire. Como los diagramas de
posiciones, las formas de acorde se pueden introducir como cadenas
escuetas fret-diagram-terse o como listas de marcado prolijas
fret-diagram-verbose.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 93485c0ecbda3b3e8fc7232f86f689e68f9ebd51
+ Translation of GIT committish: 4f8c7b381812949e6f765f641fba9108b52af56b
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@seealso
Referencia de la notación:
-@ruser{Tremolo repeats},
-@ruser{Glissando},
-@ruser{Arpeggio},
-@ruser{Harmonics}.
+@ref{Tremolo repeats},
+@ref{Glissando},
+@ref{Arpeggio},
+@ref{Harmonics}.
@node Harp pedals
@unnumberedsubsubsec Harp pedals
@seealso
Referencia de la notación:
-@ruser{Text scripts},
-@ruser{Instrument Specific Markup}.
+@ref{Text scripts},
+@ref{Instrument Specific Markup}.
@menu
* Install:: Cómo instalarlo o compilarlo.
-* Setup:: Utilizar LilyPond con notros programas.
+* Setup:: Utilizar LilyPond con otros programas.
* Running LilyPond:: Funcionamiento.
* LilyPond-book:: Integrar texto y música.
* Converting from other formats:: Convertir al formato del código de entrada de lilypond.
@item unfold (desplegada)
Las música repetida se escribe y se interpreta completamente tantas
veces como especifique el valor @var{número_de_repeticiones}. Es útil
-cuando se estáescribiendo música repetitiva.
+cuando se está escribiendo música repetitiva.
@item percent (porcentaje)
Hacer repeticiones de compases o parte de ellos. Tienen un aspecto
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
+ Translation of GIT committish: 4f8c7b381812949e6f765f641fba9108b52af56b
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
redonda), mientras que una blanca se escribe con un @code{2} (por ser
1/2 de redonda). Para notas mayores de la redonda se deben usar los
comandos @code{\longa} (que es una breve doble) y @code{\breve}. Se
-pueden especificar duraciones tan cortas como la semifusa (con el
-número 64). Son posibles valores más cortos, pero sólo como notas
+pueden especificar duraciones tan cortas como la garrapatea (con el
+número 128). Son posibles valores más cortos, pero sólo como notas
unidas por una barra.
@c Two 64th notes are needed to obtain beams
que hay un cambio de compás. Si se produce un cambio al final de una
línea, se imprime una indicación de advertencia en dicho lugar. Se
puede modificar este comportamiento predeterminado, véase
-@ref{Controlling visibility of objects}.
+@ref{Visibility of objects}.
@lilypond[quote,verbatim,relative=2]
\time 2/4
{ a4 b c d }
@end lilypond
-Hay más detalles sobre las proopiedades de @code{StaffSymbol} en
+Hay más detalles sobre las propiedades de @code{StaffSymbol} en
@rinternals{staff-symbol-interface}.
@funindex \startStaff
- <p><i>Dernière mise à jour Sun Dec 21 09:36:02 UTC 2008
+ <p><i>Dernière mise à jour Sun Dec 28 01:18:10 UTC 2008
</i></p>
<html>
<!-- This page is automatically generated by translation-status.py from
</tr>
<tr align="left">
<td>2 Environnement de travail<br>(1149)</td>
+ <td>Jean-Charles Malahieude</td>
<td></td>
- <td></td>
- <td><span style="background-color: #d0f0f8">non</span></td>
- <td></td>
+ <td><span style="background-color: #1fff1f">oui</span></td>
+ <td><span style="background-color: #d587ff">N/A</span></td>
<td>pré-GDP</td>
</tr>
<tr align="left">
<td>Jean-Charles Malahieude</td>
<td></td>
<td><span style="background-color: #1fff1f">oui</span></td>
- <td><span style="background-color: #acff31">partiellement</span></td>
+ <td><span style="background-color: #d587ff">N/A</span></td>
<td>pré-GDP</td>
</tr>
</table>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>2.4 Instruments à cordes frettées<br>(1830)</td>
+ <td>2.4 Instruments à cordes frettées<br>(1850)</td>
<td>Valentin Villenave</td>
<td>Jean-Charles Malahieude<br>
John Mandereau</td>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>2.7 Notation des accords<br>(1398)</td>
+ <td>2.7 Notation des accords<br>(1464)</td>
<td>Valentin Villenave</td>
<td>Jean-Charles Malahieude<br>
John Mandereau</td>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>2.8 Notations anciennes<br>(4486)</td>
+ <td>2.8 Notations anciennes<br>(4487)</td>
<td>John Mandereau<br>
Jean-Charles Malahieude</td>
<td></td>
<td>5 Modification des réglages prédéfinis<br>(11391)</td>
<td>Valentin Villenave</td>
<td>Gilles Thibault</td>
- <td><span style="background-color: #dfef77">partiellement (33 %)</span></td>
+ <td><span style="background-color: #dfef77">partiellement (42 %)</span></td>
<td><span style="background-color: #ff954f">partiellement</span></td>
<td>pré-GDP</td>
</tr>
<tr align="left">
<td>6 Interfaces pour les programmeurs<br>(5202)</td>
- <td></td>
- <td></td>
- <td><span style="background-color: #d0f0f8">non</span></td>
- <td></td>
+ <td>Valentin Villenave</td>
+ <td>Gilles Thibault</td>
+ <td><span style="background-color: #dfef77">partiellement (9 %)</span></td>
+ <td><span style="background-color: #76fe2a">partiellement</span></td>
<td>pré-GDP</td>
</tr>
<tr align="left">
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
-@c This file is part of ../user/lilypond.tely
+@c This file is part of lilypond.tely
@ignore
Translation of GIT committish: 76de7e168dbc9ffc7671d99663c5ce50dae42abb
@c Translators: Valentin Villenave
@c Translation checkers: Gilles Thibault
+
@node Changing defaults
@chapter Changing defaults
@ref{Top,Référence du programme,,lilypond-internals}.
@end ifnottex
Ce guide répertorie toutes les variables, fonctions et autres options que
-LilyPond met à votre disposition. Il est consultable
+LilyPond met à votre disposition. Il est consultable
@c leave the @uref as one long line.
@uref{http://@/lilypond@/.org/@/doc/@/stable/@/Documentation/@/user/@/lilypond@/-internals/,en@tie{}ligne},
au format HTML, mais est également inclus dans la documentation
de notation sont automatiquement créés -- par exemple, les règles de ligatures.
@item
-L'apparence, qui se rapporte aux objets pris individuellement -- ainsi de la direction
+L'apparence, qui se rapporte aux objets pris individuellement -- ainsi de la direction
des hampes, du placement des indications textuelles.
@item
infrastructure. Modifier les choix de mise en page revient à pénétrer dans
les entrailles du programme, et de ce fait requiert l'emploi du Scheme.
Les fragments de Scheme, dans un fichier @code{.ly}, sont introduits par le
-caractère @q{hash}, (@code{#}, improprement surnommé @q{dièse}).@footnote{Le
+caractère @q{hash}, (@code{#}, improprement surnommé @q{dièse}).@footnote{Le
@rlearning{Scheme tutorial} fournit quelques notions de base pour saisir des nombres,
des listes, des chaînes de caractères ou des symboles, en Scheme.}
@menu
-* Interpretation contexts::
-* The override command::
+* Interpretation contexts::
+* Explaining the Internals Reference::
+* Modifying properties::
+* Useful concepts and properties::
+* Advanced tweaks::
@end menu
-
@node Interpretation contexts
@section Interpretation contexts
Cette section traite des contextes.
@menu
-* Contexts explained::
-* The set command::
-* Modifying context plug-ins::
-* Layout tunings within contexts::
-* Changing context default settings::
-* Defining new contexts::
-* Aligning contexts::
-* Vertical grouping of grobs::
+* Contexts explained::
+* Creating contexts::
+* Modifying context plug-ins::
+* Layout tunings within contexts::
+* Changing context default settings::
+* Defining new contexts::
+* Aligning contexts::
@end menu
-
@node Contexts explained
@subsection Contexts explained
-@untranslated
-
-
-@node The set command
-@subsection The @code{\set} command
-
-@cindex propriétés
-@funindex \set
-@cindex modifier des propriétés
-
-Chaque contexte peut avoir plusieurs @emph{propriétés}, c'est-à-dire
-des variables qu'il inclut. Ces dernières peuvent être modifiées @qq{à la volée},
-c'est-à-dire pendant que la compilation s'accomplit. C'est là le rôle de la
-commande @code{\set}.
-
-@example
-\set @var{contexte}.@var{propriété} = #@var{valeur}
-@end example
-
-Ainsi :
-@lilypond[quote,verbatim,relative=2,fragment]
-R1*2
-\set Score.skipBars = ##t
-R1*2
-@end lilypond
-
-Cette commande permet de condenser les mesures vides de notes, en des silences
-multi-mesures. Il s'agit d'un objet Scheme, auquel on attribue la valeur booléenne
-@q{vrai}, c'est-à-dire la lettre @code{#t} pour @q{True} en anglais.
-
-Ce changement étant appliqué @q{à la volée}, il n'affecte que le second groupe de notes.
-
-Si l'argument @var{contexte} n'est pas spécifié, alors la propriété cherchera à s'appliquer
-dans le contexte le plus restreint où elle est employée : le plus souvent
- @code{ChordNames}, @code{Voice}, ou @code{Lyrics}. Dans l'exemple suivant,
-
-@lilypond[quote,verbatim,relative=2,fragment]
-c8 c c c
-\set autoBeaming = ##f
-c8 c c c
-@end lilypond
+@ignore
+@c TODO Rethink and rewrite
+
+>> > > - list of contexts: my *danger unmaintainable*
+>> > > alarm just went off. I'm
+
+I knew it would... And leaving out some of them is perfectly fine
+with me.
+I do think that a list like this, with the main contexts and a
+brief
+description of what they do (perhaps also with a note about what
+default
+behavior is associated with each of them, but this may be
+unmanageable),
+should be there, and then we could simply list the remaining ones
+without
+further explanation and with links to the IR.
+@end ignore
-@noindent
-aucun argument @var{contexte} n'a été donné à la commande @code{\set}.
-De ce fait, les ligatures automatiques sont désactivées dans le
-contexte actuel, c'est-à-dire @rinternals{Voice}. Notez que le
-contexte le plus restreint n'est pas toujours le bon,
-et peut ne pas contenir la propriété qui vous intéresse : ainsi, la propriété
-@code{skipBars}, évoquée plus haut, ne relève pas du contexte @code{Voice},
-et le code suivant ne fonctionnera pas.
+@c TODO Improve layout, order and consistency of wording -td
-@lilypond[quote,verbatim,relative=2,fragment]
-R1*2
-\set skipBars = ##t
-R1*2
-@end lilypond
+@c TODO Add introduction which explains contexts in generality -td
-Les contextes s'organisent de façon hiérarchique : aussi, lorsqu'un contexte de niveau
-supérieur est spécifié (par exemple @code{Staff}), la propriété sera modifée dans
-tous les contextes inférieurs (tous les contextes @code{Voice}, par exemple)
-qu'il contient.
+@c TODO Describe propagation of property values -td
-@funindex \unset
-La commande @code{\unset} permet d'annuler la définition d'une propriété :
+@menu
+* Score - the master of all contexts::
+* Top-level contexts - staff containers::
+* Intermediate-level contexts - staves::
+* Bottom-level contexts - voices::
+@end menu
-@example
-\unset @var{contexte}.@var{propriété}
-@end example
+@node Score - the master of all contexts
+@unnumberedsubsubsec Score - the master of all contexts
-@noindent
-si et seulement si cette propriété à été définie dans ce @var{contexte}
-précis ; ainsi,
+@untranslated
-@example
-\set Staff.autoBeaming = ##f
-@end example
-@noindent
-même s'il s'applique à tous les contextes @code{Voice} contenus dans le
-contexte @code{Staff}, ne peut être annulé au niveau @code{Voice}. Le code
-suivant sera sans effet.
+@node Top-level contexts - staff containers
+@unnumberedsubsubsec Top-level contexts - staff containers
-@example
-\unset Voice.autoBeaming
-@end example
+@untranslated
-@noindent
-En d'autres termes, la commande @code{\unset} doit impérativement être
-accompagnée du même contexte que la commande @code{\set} d'origine.
-Pour annuler l'effet, dans notre exemple, de @code{Staff.autoBeaming = ##f},
-il faut donc entrer :
-@example
-\unset Staff.autoBeaming
-@end example
-Si l'on se trouve dans le contexte le plus restreint, il n'est pas obligatoire,
-là encore, de spécifier le @var{contexte}. Ainsi, les deux lignes suivantes sont équivalentes.
+@node Intermediate-level contexts - staves
+@unnumberedsubsubsec Intermediate-level contexts - staves
+@untranslated
-@example
-\set Voice.autoBeaming = ##t
-\set autoBeaming = ##t
-@end example
+@node Bottom-level contexts - voices
+@unnumberedsubsubsec Bottom-level contexts - voices
-@cindex \once
-Pour modifier une propriété de façon à ce qu'elle ne s'applique qu'une seule fois,
-il convient d'employer la commande @code{\once} :
+@untranslated
-@lilypond[quote,verbatim,relative=2,fragment]
-c4
-\once \set fontSize = #4.7
-c4
-c4
-@end lilypond
-Ici le changement de taille est annulé aussitôt après la note concernée.
+@node Creating contexts
+@subsection Creating contexts
-La référence du programme contient une description exhaustive de toutes les
-propriétés contexte par contexte : voir
-@ifhtml
-@rinternals{Tunable context properties}.
-@end ifhtml
-@ifnothtml
-Translation @expansion{} Tunable context properties.
-@end ifnothtml
+@untranslated
@node Modifying context plug-ins
quelque peu radicale, puisqu'elle affectera toute la portée jusqu'à la fin de la
partition. L'espacement s'en trouve également affecté, ce qui peut être ou non
l'effet recherché. Une méthode plus sophistiquée aurait été de rendre ces objets
-transparents (voir @rlearning{Common tweaks}).
+transparents (voir @rlearning{Visibility and color of objects}).
Dans l'exemple suivant, voici une mise en pratique plus utile. En temps
normal, les barres de mesure et la métrique sont synchronisées verticalement
@end lilypond
+@c deprecated node: delete. --fv
@node Layout tunings within contexts
@subsection Layout tunings within contexts
@end verbatim
@noindent
-rend les hampes plus épaisses (la valeur par défaut est 1.3, ce qui signifie qu'elles
+rend les hampes plus épaisses (la valeur par défaut est 1.3, ce qui signifie qu'elles
sont 1,3 fois plus épaisses que les lignes de la portée). Dans la mesure où nous avons
indiqué @code{Staff} comme contexte, ce réglage ne s'appliquera qu'à la portée courante ;
les autres portées demeureront intactes.
@end example
@noindent
-Le graveur @rinternals{Pitch_squash_engraver} intercepte les notes créées par
+Le graveur @rinternals{Pitch_squash_engraver} intercepte les notes créées par
@rinternals{Note_heads_engraver}, et les @q{écrase} pour qu'elles aient toutes la
même position verticale, définie par @code{squashedPosition} : ici il s'agit de la
valeur@tie{}@code{0}, c'est-à-dire la ligne du milieu.
@node Aligning contexts
@subsection Aligning contexts
+
Il est possible d'aligner verticalement chaque nouveau contexte,
en-dessous ou au-dessus, par exemple dans le cas de musique vocale
(@rlearning{Vocal ensembles}) ou d'@qq{ossias}.
@end lilypond
-@node Vertical grouping of grobs
-@subsection Vertical grouping of grobs
-
-Les objets @code{VerticalAlignment} et @code{VerticalAxisGroup}
-travaillent de concert. Comme leurs noms anglais l'indiquent,
-@code{VerticalAxisGroup} regroupe différents objets tels que les portées
-(@code{Staff}), les paroles (@code{Lyrics}) et ainsi de suite ; 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}.
-
-
-@node The override command
-@section The @code{\override} command
-
-La commande @code{\override} permet de modifier la mise en page
-en détail. Examinons son utilisation concrètementet dans les détails.
-La syntaxe de cette commande ressemble généralement à :
-
-@example
-\override @var{contexte}.@var{objet} #'@var{propriété} = #@var{valeur}
-@end example
+@node Explaining the Internals Reference
+@section Explaining the Internals Reference
-La propriété @var{propriété} de l'objet @var{objet}, appartenant au contexte
-@var{contexte}, se voit ainsi attribuer la valeur @var{valeur}.
@menu
-* Constructing a tweak::
-* Navigating the program reference::
-* Layout interfaces::
-* Determining the grob property::
-* The tweak command::
-* Using Scheme code instead of tweak::
-* set versus override::
-* Difficult tweaks::
+* Navigating the program reference::
+* Layout interfaces::
+* Determining the grob property::
+* Naming conventions::
@end menu
-
-
-@node Constructing a tweak
-@subsection Constructing a tweak
-
-Les commandes permettant de modifier l'apparence de la partition
-ressemblent en général à
-
-@example
-\override Voice.Stem #'thickness = #3.0
-@end example
-
-@noindent
-Pour élaborer un réglage de ce type, on a besoin de connaître précisément :
-
-@itemize
-@item le contexte : ici @code{Voice} (la voix).
-@item l'objet à affecter : ici @code{Stem} (les hampes).
-@item la propriété à modifier : ici @code{thickness} (l'épaisseur du trait).
-@item la valeur désirée : ici @code{3.0} (par défaut, elle est de 1.3).
-@end itemize
-
-Certaines @q{sous-propriétés} sont parfois contenues dans une propriété.
-La commande devient alors :
-
-@example
-\override Stem #'(details beamed-lengths) = #'(4 4 3)
-@end example
-
-@cindex documentation exhaustive
-@cindex trouver des objets graphiques
-@cindex objets graphiques, description
-@cindex régler
-@funindex \override
-
-Pour bien des propriétés, quel que soit le type de valeur requise,
-attribuer la valeur @q{faux} (@code{##f} en Scheme) reviendra à désactiver
-complètement l'action de la propriété qui se trouve ainsi purement
-ignorée par LilyPond. Cela peut s'avérer fort utile pour des propriétés
-causant des désagréments.
-
-@c such announcements are to be avoided -vv
-@ignore
-We demonstrate how to glean this information from the notation manual
-and the program reference.
-@end ignore
-
-
-
@node Navigating the program reference
@subsection Navigating the program reference
@rinternals{New_fingering_engraver}.
@end quotation
-En d'autres termes, @emph{Les indications de doigtés}
+En d'autres termes, @emph{Les indications de doigtés}
(@code{Fingering} en anglais) @emph{sont créées par les graveurs
@rinternals{Fingering_engraver} et @rinternals{New_fingering_engraver}.}
Ce cheminement se produit, bien sûr, en sens inverse : nous sommes ici partis
du résultat, et avons abouti aux évènements (en anglais @q{Events}) engendrés
par le fichier d'entrée. L'inverse est également possible : on peut partir d'un
-évènement, et suivre le cheminement de LilyPond qui aboutit à la création d'un
+évènement, et suivre le cheminement de LilyPond qui aboutit à la création d'un
ou plusieurs objets graphiques.
La référence du programme peut également se parcourir comme un document normal.
@code{Music definitions}
@end ifnothtml
@rinternals{Translation}, ou encore @rinternals{Backend}. Chaque chapitre
-recense toutes les définitions employées, et les propriétés sujettes à
+recense toutes les définitions employées, et les propriétés sujettes à
ajustements.
@c -- what about adding a link to the glossary here ? -vv
Suit la liste des interfaces en question, présentées comme autant de liens,
qui conduisent sur les pages dédiées à chacune d'entre elles.
Chaque interface est dotée d'un certain nombre de propriétés, dont certaines
-peuvent être modifiées, et d'autres non (les @q{Internal properties}, ou
+peuvent être modifiées, et d'autres non (les @q{Internal properties}, ou
propriétés internes).
Pour aller encore plus loin, plutôt que de simplement parler de l'objet
amas de variables et de réglages. La page de la Référence du programme est
en fait directement engendrée par cette définition.
+
@node Determining the grob property
@subsection Determining the grob property
+
Nous voulions changer la position du chiffre @b{2} dans le fragment suivant :
@lilypond[quote,fragment,relative=2,verbatim]
@noindent
Ce qui signifie
-@quotation
+@quotation
Ajouter tel espace supplémentaire entre des objets proches les uns des
autres.
@end quotation
@end quotation
-@node The tweak command
-@subsection The @code{\tweak} command
+@node Naming conventions
+@subsection Naming conventions
-@funindex \tweak
+@untranslated
-Dans certains cas, on peut passer par un raccourci pour arranger les
-objets graphiques. Lorsqu'un objet est directement engendré par un élément distinct
-du fichier source, on peut utiliser la commande @code{\tweak}.
-Dans l'accord suivant, les notes sont modifiées une par une :
+@node Modifying properties
+@section Modifying properties
-@lilypond[relative=2,fragment,verbatim,ragged-right]
-<
- c
- \tweak #'color #red d
- g
- \tweak #'duration-log #1 a
->4-\tweak #'padding #10 -.
-@end lilypond
+@c TODO change the menu and subsection node names to use
+@c backslash once the new macro to handle the refs
+@c is available. Need to find and change all refs at
+@c the same time. -td
-Comme on peut le voir, les propriétés sont ici modifiées directement
-en même temps que les objets sont saisis. Il n'est plus besoin de spécifier ni
-le nom de l'objet (@emph{grob}), ni le contexte dans lequel cela doit s'appliquer.
+@menu
+* Overview of modifying properties::
+* The set command::
+* The override command::
+* Constructing a tweak::
+* The tweak command::
+* set versus override::
+@end menu
-Ce procédé ne marche que pour des objets directement liés aux évènements
-(@rinternals{Event}) du fichier source. Par exemple :
+@node Overview of modifying properties
+@subsection Overview of modifying properties
-@itemize @bullet
-@item Les têtes de notes au sein d'un accord, qui sont directement engendrées par
-les hauteurs indiquées
-@item Les signes d'articulation, engendrés par les indications de ponctuation.
-@end itemize
+@untranslated
-En revanche, les hampes ou les altérations sont engendrées par les têtes de notes,
-et non par des évènements dans le fichier source. De même pour les clés, qui ne
-sont pas directement engendrées par le fichier source, mais plutôt par le
-changement d'une propriété interne.
-En fait, très peu d'objets passent @emph{directement} du code source à la partition.
-Une note toute simple, par exemple @code{c4}, fait l'objet d'un traitement et n'est donc
-pas directement rendue ; c'est pourquoi le code suivant ne sera d'aucun effet :
+@node The set command
+@subsection The @code{\set} command
+
+@cindex propriétés
+@funindex \set
+@cindex modifier des propriétés
+
+Chaque contexte peut avoir plusieurs @emph{propriétés}, c'est-à-dire
+des variables qu'il inclut. Ces dernières peuvent être modifiées @qq{à la volée},
+c'est-à-dire pendant que la compilation s'accomplit. C'est là le rôle de la
+commande @code{\set}.
@example
-\tweak #'color #red c4
+\set @var{contexte}.@var{propriété} = #@var{valeur}
@end example
-@noindent
-Voir pour plus de détails @ref{Displaying music expressions}.
+Ainsi :
+@lilypond[quote,verbatim,relative=2,fragment]
+R1*2
+\set Score.skipBars = ##t
+R1*2
+@end lilypond
+Cette commande permet de condenser les mesures vides de notes, en des silences
+multi-mesures. Il s'agit d'un objet Scheme, auquel on attribue la valeur booléenne
+@q{vrai}, c'est-à-dire la lettre @code{#t} pour @q{True} en anglais.
-@node Using Scheme code instead of tweak
-@subsection Using Scheme code instead of @code{\tweak}
+Ce changement étant appliqué @q{à la volée}, il n'affecte que le second groupe de notes.
-L'inconvénient principal de la commande @code{\tweak} est la rigidité de sa
-syntaxe. Par exemple, le code suivant produit une erreur.
+Si l'argument @var{contexte} n'est pas spécifié, alors la propriété cherchera à s'appliquer
+dans le contexte le plus restreint où elle est employée : le plus souvent
+ @code{ChordNames}, @code{Voice}, ou @code{Lyrics}. Dans l'exemple suivant,
+
+@lilypond[quote,verbatim,relative=2,fragment]
+c8 c c c
+\set autoBeaming = ##f
+c8 c c c
+@end lilypond
+
+@noindent
+aucun argument @var{contexte} n'a été donné à la commande @code{\set}.
+De ce fait, les ligatures automatiques sont désactivées dans le
+contexte actuel, c'est-à-dire @rinternals{Voice}. Notez que le
+contexte le plus restreint n'est pas toujours le bon,
+et peut ne pas contenir la propriété qui vous intéresse : ainsi, la propriété
+@code{skipBars}, évoquée plus haut, ne relève pas du contexte @code{Voice},
+et le code suivant ne fonctionnera pas.
+
+@lilypond[quote,verbatim,relative=2,fragment]
+R1*2
+\set skipBars = ##t
+R1*2
+@end lilypond
+
+Les contextes s'organisent de façon hiérarchique : aussi, lorsqu'un contexte de niveau
+supérieur est spécifié (par exemple @code{Staff}), la propriété sera modifée dans
+tous les contextes inférieurs (tous les contextes @code{Voice}, par exemple)
+qu'il contient.
+
+@funindex \unset
+
+La commande @code{\unset} permet d'annuler la définition d'une propriété :
@example
-F = \tweak #'font-size #-3 -\flageolet
+\unset @var{contexte}.@var{propriété}
+@end example
-\relative c'' @{
- c4^\F c4_\F
-@}
+@noindent
+si et seulement si cette propriété à été définie dans ce @var{contexte}
+précis ; ainsi,
+
+@example
+\set Staff.autoBeaming = ##f
@end example
@noindent
-En d'autres termes, @code{\tweak} ne se comporte pas comme une articulation :
-il ne peut notamment pas être accolé avec les symboles @samp{^} ou @samp{_}.
+même s'il s'applique à tous les contextes @code{Voice} contenus dans le
+contexte @code{Staff}, ne peut être annulé au niveau @code{Voice}. Le code
+suivant sera sans effet.
-C'est en se servant du langage Scheme que l'on peut résoudre ce problème.
-Dans cet exemple, on a recours aux méthodes décrites dans @ref{Adding
-articulation to notes (example)}, en particulier quant à l'emploi de
-@code{\displayMusic}.
+@example
+\unset Voice.autoBeaming
+@end example
+@noindent
+En d'autres termes, la commande @code{\unset} doit impérativement être
+accompagnée du même contexte que la commande @code{\set} d'origine.
+Pour annuler l'effet, dans notre exemple, de @code{Staff.autoBeaming = ##f},
+il faut donc entrer :
@example
-F = #(let ((m (make-music 'ArticulationEvent
- 'articulation-type "flageolet")))
- (set! (ly:music-property m 'tweaks)
- (acons 'font-size -3
- (ly:music-property m 'tweaks)))
- m)
-
-\relative c'' @{
- c4^\F c4_\F
-@}
+\unset Staff.autoBeaming
+@end example
+
+Si l'on se trouve dans le contexte le plus restreint, il n'est pas obligatoire,
+là encore, de spécifier le @var{contexte}. Ainsi, les deux lignes suivantes sont équivalentes.
+
+
+@example
+\set Voice.autoBeaming = ##t
+\set autoBeaming = ##t
+@end example
+
+
+@cindex \once
+Pour modifier une propriété de façon à ce qu'elle ne s'applique qu'une seule fois,
+il convient d'employer la commande @code{\once} :
+
+@lilypond[quote,verbatim,relative=2,fragment]
+c4
+\once \set fontSize = #4.7
+c4
+c4
+@end lilypond
+
+Ici le changement de taille est annulé aussitôt après la note concernée.
+
+La référence du programme contient une description exhaustive de toutes les
+propriétés contexte par contexte : voir
+@ifhtml
+@rinternals{Tunable context properties}.
+@end ifhtml
+@ifnothtml
+Translation @expansion{} Tunable context properties.
+@end ifnothtml
+
+
+@node The override command
+@subsection The @code{\override} command
+
+
+La commande @code{\override} permet de modifier la mise en page
+en détail. Examinons son utilisation concrètementet dans les détails.
+La syntaxe de cette commande ressemble généralement à :
+
+@example
+\override @var{contexte}.@var{objet} #'@var{propriété} = #@var{valeur}
+@end example
+
+La propriété @var{propriété} de l'objet @var{objet}, appartenant au contexte
+@var{contexte}, se voit ainsi attribuer la valeur @var{valeur}.
+
+
+@c deprecated node. Delete. --fv
+@node Constructing a tweak
+@subsection Constructing a tweak
+
+Les commandes permettant de modifier l'apparence de la partition
+ressemblent en général à
+
+@example
+\override Voice.Stem #'thickness = #3.0
@end example
@noindent
-Ici les propriétés @code{tweak} de l'objet flageolet nommé
-@samp{m} (créé au moyen de @code{make-music}) sont extraites par
-@code{ly:music-property}, une nouvelle valeur de la taille de fonte
-est ajoutée à la liste de ses propriétés (grâce à la fonction Scheme
-@code{acons}), et le résultat de cette opération est renvoyé par @code{set!}.
-Le dernier élément, dans ce bloc @code{let}, est la valeur finale de
-@samp{m} lui-même.
+Pour élaborer un réglage de ce type, on a besoin de connaître précisément :
+
+@itemize
+@item le contexte : ici @code{Voice} (la voix).
+@item l'objet à affecter : ici @code{Stem} (les hampes).
+@item la propriété à modifier : ici @code{thickness} (l'épaisseur du trait).
+@item la valeur désirée : ici @code{3.0} (par défaut, elle est de 1.3).
+@end itemize
+
+Certaines @q{sous-propriétés} sont parfois contenues dans une propriété.
+La commande devient alors :
+
+@example
+\override Stem #'(details beamed-lengths) = #'(4 4 3)
+@end example
+
+@cindex documentation exhaustive
+@cindex trouver des objets graphiques
+@cindex objets graphiques, description
+@cindex régler
+@funindex \override
+
+Pour bien des propriétés, quel que soit le type de valeur requise,
+attribuer la valeur @q{faux} (@code{##f} en Scheme) reviendra à désactiver
+complètement l'action de la propriété qui se trouve ainsi purement
+ignorée par LilyPond. Cela peut s'avérer fort utile pour des propriétés
+causant des désagréments.
+
+@c such announcements are to be avoided -vv
+@ignore
+We demonstrate how to glean this information from the notation manual
+and the program reference.
+@end ignore
+
+
+@node The tweak command
+@subsection The @code{\tweak} command
+
+
+@funindex \tweak
+
+Dans certains cas, on peut passer par un raccourci pour arranger les
+objets graphiques. Lorsqu'un objet est directement engendré par un élément distinct
+du fichier source, on peut utiliser la commande @code{\tweak}.
+
+Dans l'accord suivant, les notes sont modifiées une par une :
+
+@lilypond[relative=2,fragment,verbatim,ragged-right]
+<
+ c
+ \tweak #'color #red d
+ g
+ \tweak #'duration-log #1 a
+>4-\tweak #'padding #10 -.
+@end lilypond
+
+Comme on peut le voir, les propriétés sont ici modifiées directement
+en même temps que les objets sont saisis. Il n'est plus besoin de spécifier ni
+le nom de l'objet (@emph{grob}), ni le contexte dans lequel cela doit s'appliquer.
+
+Ce procédé ne marche que pour des objets directement liés aux évènements
+(@rinternals{Event}) du fichier source. Par exemple :
+
+@itemize @bullet
+@item Les têtes de notes au sein d'un accord, qui sont directement engendrées par
+les hauteurs indiquées
+@item Les signes d'articulation, engendrés par les indications de ponctuation.
+@end itemize
+
+En revanche, les hampes ou les altérations sont engendrées par les têtes de notes,
+et non par des évènements dans le fichier source. De même pour les clés, qui ne
+sont pas directement engendrées par le fichier source, mais plutôt par le
+changement d'une propriété interne.
+
+En fait, très peu d'objets passent @emph{directement} du code source à la partition.
+Une note toute simple, par exemple @code{c4}, fait l'objet d'un traitement et n'est donc
+pas directement rendue ; c'est pourquoi le code suivant ne sera d'aucun effet :
+
+@example
+\tweak #'color #red c4
+@end example
+
+@noindent
+Voir pour plus de détails @ref{Displaying music expressions}.
@node set versus override
@subsection @code{\set} vs. @code{\override}
+
Si les propriétés peuvent être modifiées de deux façons, par les commandes
@code{\set} et @code{\override}, c'est qu'il y a deux types de propriétés.
être modifiée avec la commande @code{\set}.
-@node Difficult tweaks
-@subsection Difficult tweaks
-Certains réglages sont plus délicats que d'autres.
+@node Useful concepts and properties
+@section Useful concepts and properties
-@itemize @bullet
+@menu
+* Input modes::
+* Direction and placement::
+* Distances and measurements::
+* Staff symbol properties::
+* Spanners::
+* Visibility of objects::
+* Line styles::
+* Rotating objects::
+@end menu
-@item
-L'un d'entre eux est l'apparence des objets dits @q{spanner}, qui s'étendent
-horizontalement, tels que les liaisons. Si, en principe, un seul de ces objets
-est créé à la fois et peut donc être modifié de façon habituelle, lorsque ces
-objets doivent enjamber un changement de ligne, ils sont dupliqués au début
-du ou des systèmes suivants. Comme ces objets sont des clones de l'objet d'origine,
-ils en héritent toutes les propriétés, y compris les éventuelles commandes @code{\override}.
+@node Input modes
+@subsection Input modes
+@untranslated
-En d'autres termes, une commande @code{\override} affecte toujours les deux extrémités
-d'un objet @q{spanner}. Pour ne modifier que la partie précédant ou suivant le changement
-de ligne, il faut intervenir directement dans le processus de mise en page.
-La fonction de rappel @code{after-line-breaking} contient toute l'opération Scheme
-effectuée lorsque les sauts de lignes ont été déterminés, et que des objets graphiques
-ont été divisés sur des systèmes différents.
-Dans l'exemple suivant, on définit une nouvelle opération nommée
-@code{my-callback}. Cette opération
+@node Direction and placement
+@subsection Direction and placement
-@itemize @bullet
-@item
-détermine si l'objet a été divisé à l'occasion d'un changement de ligne
-@item
-si oui, recherche les différents morceaux de l'objet
-@item
-vérifie si l'objet considéré est bien la deuxième moitié d'un objet divisé
-@item
-si oui, applique un espacement supplémentaire (@code{extra-offset}).
-@end itemize
+@untranslated
-On ajoute cette procédure à l'objet @rinternals{Tie} (liaison de tenue),
-de façon à ce que le deuxième morceau d'une liaison divisée soit rehaussé.
-@c KEEP LY
-@lilypond[quote,verbatim,ragged-right]
-#(define (my-callback grob)
- (let* (
- ; l'objet a-t-il été divisé ?
- (orig (ly:grob-original grob))
+@node Distances and measurements
+@subsection Distances and measurements
- ; si oui, rechercher les morceaux frères (siblings)
- (siblings (if (ly:grob? orig)
- (ly:spanner-broken-into orig) '() )))
+@untranslated
- (if (and (>= (length siblings) 2)
- (eq? (car (last-pair siblings)) grob))
- (ly:grob-set-property! grob 'extra-offset '(-2 . 5)))))
-\relative c'' {
- \override Tie #'after-line-breaking =
- #my-callback
- c1 ~ \break c2 ~ c
-}
-@end lilypond
+@node Staff symbol properties
+@subsection Staff symbol properties
-@noindent
-Lorsque cette astuce va être appliquée, notre nouvelle fonction de rappel
-@code{after-line-breaking} devra également appeler celle d'origine
-(@code{after-line-breaking}), si elle existe.
-Ainsi, pour l'utiliser dans le cas d'un crescendo (objet @code{Hairpin}),
-il faudra appeler également @code{ly:hairpin::after-line-breaking}.
+@untranslated
-@item Pour des raisons d'ordre technique, certains objets ne peuvent être modifiés par
-@code{\override}. Parmi ceux-là, les objets @code{NonMusicalPaperColumn}
-et @code{PaperColumn}. La commande @code{\overrideProperty} sert à les modifier, de
-façon similaire à @code{\once \override}, mais avec une syntaxe différente :
+@node Spanners
+@subsection Spanners
-@example
-\overrideProperty
-#"Score.NonMusicalPaperColumn" % Nom de l'objet
-#'line-break-system-details % Nom de la propriété
-#'((next-padding . 20)) % valeur
-@end example
+@untranslated
-Notez cependant que la commande @code{\override} peut tout de même être appliquée
-à @code{NoteMusicalPaperColumn} et @code{PaperColumn} dans un bloc @code{\context}.
-@end itemize
+@unnumberedsubsubsec Using the @code{spanner-interface}
+@unnumberedsubsubsec Using the @code{line-spanner-interface}
+@node Visibility of objects
+@subsection Visibility of objects
+
+@untranslated
+
+
+@menu
+* Removing the stencil::
+* Making objects transparent::
+* Painting objects white::
+* Using break-visibility::
+* Special considerations::
+@end menu
+
+@node Removing the stencil
+@unnumberedsubsubsec Removing the stencil
+
+@untranslated
+
+
+@node Making objects transparent
+@unnumberedsubsubsec Making objects transparent
+
+@untranslated
+
+
+@node Painting objects white
+@unnumberedsubsubsec Painting objects white
+
+@untranslated
+
+
+@node Using break-visibility
+@unnumberedsubsubsec Using break-visibility
+
+@untranslated
+
+
+@node Special considerations
+@unnumberedsubsubsec Special considerations
+
+@untranslated
+
+
+@node Line styles
+@subsection Line styles
+
+@untranslated
+
+
+@node Rotating objects
+@subsection Rotating objects
+
+@untranslated
+
+
+@menu
+* Rotating layout objects::
+* Rotating markup::
+@end menu
+
+@node Rotating layout objects
+@unnumberedsubsubsec Rotating layout objects
+
+@untranslated
+
+
+@node Rotating markup
+@unnumberedsubsubsec Rotating markup
+
+@untranslated
+
+
+@node Advanced tweaks
+@section Advanced tweaks
+
+@untranslated
+
+
+@menu
+* Aligning objects::
+* Vertical grouping of grobs::
+* Modifying stencils::
+* Modifying shapes::
+@end menu
+
+@node Aligning objects
+@subsection Aligning objects
+
+@untranslated
+
+
+@menu
+* Setting @code{X-offset} and @code{Y-offset} directly::
+* Using the @code{side-position-interface}::
+* Using the @code{self-alignment-interface}::
+* Using the @code{break-alignable-interface}::
+@end menu
+
+@node Setting @code{X-offset} and @code{Y-offset} directly
+@unnumberedsubsubsec Setting @code{X-offset} and @code{Y-offset} directly
+
+@untranslated
+
+
+@node Using the @code{side-position-interface}
+@unnumberedsubsubsec Using the @code{side-position-interface}
+
+@untranslated
+
+
+@node Using the @code{self-alignment-interface}
+@unnumberedsubsubsec Using the @code{self-alignment-interface}
+
+@untranslated
+
+
+@unnumberedsubsubsec Using the @code{aligned-on-parent} procedures
+@unnumberedsubsubsec Using the @code{centered-on-parent} procedures
+@node Using the @code{break-alignable-interface}
+@unnumberedsubsubsec Using the @code{break-alignable-interface}
+
+@untranslated
+
+
+@node Vertical grouping of grobs
+@subsection Vertical grouping of grobs
+
+Les objets @code{VerticalAlignment} et @code{VerticalAxisGroup}
+travaillent de concert. Comme leurs noms anglais l'indiquent,
+@code{VerticalAxisGroup} regroupe différents objets tels que les portées
+(@code{Staff}), les paroles (@code{Lyrics}) et ainsi de suite ; 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}.
+
+
+@node Modifying stencils
+@subsection Modifying stencils
+
+@untranslated
+
+
+@node Modifying shapes
+@subsection Modifying shapes
+
+@menu
+* Modifying ties and slurs::
+@end menu
+
+@node Modifying ties and slurs
+@unnumberedsubsubsec Modifying ties and slurs
+
+@untranslated
+
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@c This file is part of lilypond-program.tely
@ignore
- Translation of GIT committish: 27af34a245b02a6b89c9af3becefcfe676b2e19d
+ Translation of GIT committish: 1e2013ba299c3640143448cbd5ea72f2aa61e380
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
séquenceurs en mode graphique ou des convertisseurs XML. Pour plus
de détails, rendez-vous sur le @uref{http://@/lilypond@/.org,site}.
-Il s'agit de programmes distincts de lilypond qui se lancent en ligne
-de commande. Pour plus de précisions, reportez-vous à @ref{Command-line
-usage}.
+Il s'agit de programmes distincts de @command{lilypond} qui se lancent
+en ligne de commande. Pour plus de précisions, reportez-vous au
+chapitre @ref{Command-line usage}. Si vous utilisez MacOS 10.3 ou 10.4
+et recontrez quelque problème avec l'un de ces scripts, comme
+@code{convert-ly}, reportez-vous au chapitre @ref{Setup for MacOS X}.
@knownissues
(@rinternals{Voice}). Les hauteurs sont rendues en mode relatif, et
les durées spécifiées lorsque nécessaire.
-Vous pouvez enregistrer un fichier MIDI grace à un clavier
+Vous pouvez enregistrer un fichier MIDI grâce à un clavier
électronique et ensuite le convertir en fichier @file{.ly}. Néanmoins
le rythme humain n'a pas une précision suffisante pour qu'une
conversion MIDI à ly ne se fasse sans surprise. En le couplant à une
Pour le lancer en ligne de commande, procédez ainsi :
@example
-midi2ly [@var{option}]@dots{} @var{midi-file}
+midi2ly [@var{option}]@dots{} @var{fichier-midi}
@end example
Notez bien que, par @qq{ligne de commande}, nous parlons de la ligne de
-commande du système. Pour plus de détails, voir
-@ref{Converting from other formats}.
+commande du système. Pour plus de précisions, reportez-vous à
+@ref{Command-line usage}.
@command{midi2ly} accepte les options suivantes :
@item -k, --key=@var{acc}[:@var{minor}]
Déterminer la tonalité par défaut. @math{@var{acc} > 0} fixe le
-nombre de dièses ; @math{@var{acc} < 0} le nombre de bémols. Un ton
-mineur est spécifié par l'emploi de @samp{:1}.
+nombre de dièses ; @math{@var{acc} < 0} le nombre de bémols. Une
+tonalité mineure est spécifiée par l'emploi de @code{:1}.
@item -o, --output=@var{file}
Générer le résultat dans le fichier @var{file}.
@item -s, --start-quant=@var{DUR}
-Quantiser le début des notes sur DUR.
+Quantiser le début des notes sur @var{DUR}.
@item -t, --allow-tuplet=@var{DUR}*@var{NUM}/@var{DEN}
Accepter des n-olets de valeur @var{DUR}*@var{NUM}/@var{DEN}.
@node Invoking musicxml2ly
@section Invoking @code{musicxml2ly}
-@uref{http://@/www.@/recordare@/.com/xml@/.html,MusicXML} est un
+@cindex MusicXML
+
+@uref{http://@/www.@/musicxml@/.org/,MusicXML} est un
dialecte XML pour représenter la notation musicale.
-@command{musicxml2ly} extrait des notes à partir de fichiers MusicXML,
+@command{musicxml2ly} extrait, à partir d'un fichier MusicXML, les
+notes, articulations, structure de la partition, paroles, etc.
et les écrit dans un fichier @var{.ly}. Il se lance en ligne de
commande.
+Pour le lancer en ligne de commande, procédez ainsi :
+@example
+musicxml2ly [@var{option}]@dots{} @var{fichier-xml}
+@end example
+
Notez bien que, par @qq{ligne de commande}, nous parlons de la ligne de
-commande du système. Pour plus de détails, voir
-@ref{Converting from other formats}.
+commande du système. Pour plus de précisions, reportez-vous à
+@ref{Command-line usage}.
+
+Si le nom du fichier est @file{-}, @command{musicxml2ly} lira
+directement à partir de la ligne de commande.
@command{musicxml2ly} accepte les options suivantes :
@table @code
+@item -a, --absolute
+Rendu en hauteurs absolues.
+
@item -h,--help
Afficher un résumé des utilisations.
-@item -o,--output=@var{file}
-Générer le résultat dans le fichier @var{file}. (par défaut :
-affichage écran)
-@item -v,--version
+
+@item -l, --language=LANG
+Utiliser un autre fichier de définition liguistique @file{LANG.ly}
+et les noms de notes correspondants, comme par exemple
+@var{deutsch} pour @file{deutsch.ly} et noms de notes en allemand.
+
+@item --lxml
+Utiliser le paquetage Python lxml.etree, moins gourmand en mémoire et
+temps de calcul, pour effectuer l'annalyse XML.
+
+@item --nd --no-articulation-directions
+Ne pas convertir la direction (@code{^}, @code{_} ou @code{-}) des
+articulations, nuances, etc.
+
+@item --no-beaming
+Ne pas convertir les informations de ligature ; laisser LilyPond gérer
+les ligatures automatiquement.
+
+@item -o,--output=@var{fichier}
+Générer le résultat dans le fichier @var{fichier}. S'il n'est pas
+déterminé, ce sera @var{fichier-xml}@file{.ly} ; @file{-} produira le
+résultat sur la sortie standard (@var{stdout}).
+
+@item -r,--relative
+Rendu en hauteurs relatives (mode par défaut).
+
+@item -v,--verbose
+Mode verbeux.
+
+@item --version
Afficher le numéro de version.
+
+@item -z,--compressed
+Le fichier d'entrée est un fichier MusicXML zippé.
@end table
+
@node Invoking abc2ly
@section Invoking @code{abc2ly}
@cindex ABC
ABC est un format relativement simple basé sur l'ASCII. Sa
-description est disponible sur le site d'ABC à l'adresse :
-
-@quotation
-@uref{http://@/www@/.walshaw@/.plus@/.com/@/abc/@/abc2mtex/@/abc@/.txt}.
-@end quotation
+description est disponible sur le
+@uref{http://@/www@/.walshaw@/.plus@/.com/@/abc/@/learn@/.html,site
+d'ABC}.
-@command{abc2ly} traduit du formt ABC au format LilyPond.
+@command{abc2ly} traduit du format ABC au format LilyPond.
Pour le lancer en ligne de commande, procédez ainsi :
@example
-abc2ly [@var{option}]@dots{} @var{abc-file}
+abc2ly [@var{option}]@dots{} @var{fichier-abc}
@end example
@command{abc2ly} accepte les options suivantes :
@table @code
+@item -b,--beams=None
+Préserver la notion de lien de croches propre à ABC.
@item -h,--help
Afficher un résumé des utilisations.
@item -o,--output=@var{file}
Générer le résultat dans le fichier @var{file}.
-@item -v,--version
+@item -s,--strict
+Être strict sur la réussite.
+@item --version
Afficher le numéro de version.
@end table
%%LY voices \set autoBeaming = ##f
@end example
-aura pour conséquence d'insérer le texte qui suit le mot-clé @q{voices}
+aura pour conséquence d'insérer le texte qui suit le mot-clé @qq{voices}
dans la voix correspondante du fichier LilyPond.
De la même manière,
%%LY slyrics more words
@end example
-placera le texte suivant le mot-clé @q{slyrics} dans une ligne de paroles.
+placera le texte suivant le mot-clé @qq{slyrics} dans une ligne de paroles.
@knownissues
-Le standard ABC n'est pas si @q{standard} que cela. Pour des
+Le standard ABC n'est pas si @qq{standard} que cela. Pour des
fonctionnalités étendues, comme la polyphonie, existent différentes
conventions.
@command{abc2ly} ignore les ligatures ABC.
-
@node Invoking etf2ly
@section Invoking @command{etf2ly}
Pour le lancer en ligne de commande, procédez ainsi :
@example
-midi2ly [@var{option}]@dots{} @var{midi-file}
+etf2ly [@var{option}]@dots{} @var{fichier-etf}
@end example
Notez bien que, par @qq{ligne de commande}, nous parlons de la ligne de
-commande du système. Pour plus de détails, voir
-@ref{Converting from other formats}.
+commande du système. Pour plus de précisions, reportez-vous à
+@ref{Command-line usage}.
-@command{midi2ly} accepte les options suivantes :
+@command{etf2ly} accepte les options suivantes :
@table @code
@item -h,--help
Afficher cette aide.
-
@item -o, --output=@var{file}
Générer le résultat dans le fichier @var{file}.
-
-@item -v, --version
+@item --version
Afficher le numéro de version.
@end table
@knownissues
La liste des scripts d'articulation est incomplète. Les mesures vides
-perturbent @command{etf2ly}. Les séquences ne notes d'ornement ne se
+perturbent @command{etf2ly}. Les séquences de notes d'ornement ne se
terminent pas de manière satisfaisante.
Nous citerons entre autres
-@itemize @bullet
+@itemize
@item
-@uref{http://@/denemo@/.sourceforge@/.net/,Denemo}, une interface
+@uref{http://@/denemo@/.org,Denemo}, une interface
graphique pour l'édition de partition.
@item
@uref{http://www@/.volny@/.cz/smilauer/rumor/rumor@/.html,Rumor}, un
@uref{http://nicolas@/.sceaux@/.free@/.fr/lilypond/lyqi@/.html,lyqi}, un
mode majeur pour Emacs.
@item
-@uref{http://@/www@/.nongnu@/.org/@/xml2ly/, xml2ly}, qui importe
-@uref{http://@/www@/.musicxml@/.com/xml@/.html,MusicXML}
+@uref{http://@/www@/.nongnu@/.org/@/xml2ly/, xml2ly}, qui importe du
+@uref{http://@/www@/.musicxml@/.com/xml@/.html,MusicXML}.
@item
@uref{http://@/noteedit@/.berlios@/.de,NoteEdit}
-qui importe @uref{http://@/www@/.musicxml@/.com/xml@/.html,MusicXML}
+qui importe du @uref{http://@/www@/.musicxml@/.com/xml@/.html,MusicXML}.
@item
@uref{http://@/www@/.rosegardenmusic@/.com,Rosegarden},
-qui importe MIDI
+qui importe du MIDI.
@item
@uref{http://@/common-lisp@/.net/project/fomus/,FOMUS},
une bibliothèque LISP pour générer de la notation musicale.
+@item
+@uref{http://@/vsr@/.informatik@/.tu-chemnitz@/.de/staff/jan/nted/nted.xhtml,NtEd}
+assure, de manière expérimentale, un export vers LilyPond.
+@item
+@uref{http://@/www@/.tuxguitar@/.com@/.ar/,TuxGuitar} peut exporter au
+format LilyPond.
+@item
+@uref{http://@/musescore@/.org,MuseScore} peut exporter au format LilyPond.
@end itemize
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 4a527608c5ff2ce31e596495d00dce181dc1b9ea
+ Translation of GIT committish: 76de7e168dbc9ffc7671d99663c5ce50dae42abb
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@end ignore
+@c \version "2.11.65"
+
+@c Translators: Valentin Villenave
+@c Translation checkers: Gilles Thibault
+
@node Interfaces for programmers
@chapter Interfaces for programmers
@menu
-* Music functions::
-* Programmer interfaces::
-* Building complicated functions::
-* Markup programmer interface::
-* Contexts for programmers::
-* Scheme procedures as properties::
+* Music functions::
+* Programmer interfaces::
+* Building complicated functions::
+* Markup programmer interface::
+* Contexts for programmers::
+* Scheme procedures as properties::
+* Using Scheme code instead of tweak::
+* Difficult tweaks::
@end menu
@node Music functions
@menu
-* Overview of music functions::
-* Simple substitution functions::
-* Paired substitution functions::
-* Mathematics in functions::
-* Void functions::
-* Functions without arguments::
-* Overview of available music functions::
+* Overview of music functions::
+* Simple substitution functions::
+* Paired substitution functions::
+* Mathematics in functions::
+* Void functions::
+* Functions without arguments::
+* Overview of available music functions::
@end menu
@node Overview of music functions
@menu
-* Input variables and Scheme::
-* Internal music representation::
+* Input variables and Scheme::
+* Internal music representation::
@end menu
@node Input variables and Scheme
@menu
-* Displaying music expressions::
-* Music properties::
-* Doubling a note with slurs (example)::
-* Adding articulation to notes (example)::
+* Displaying music expressions::
+* Music properties::
+* Doubling a note with slurs (example)::
+* Adding articulation to notes (example)::
@end menu
@node Displaying music expressions
@menu
-* Markup construction in Scheme::
-* How markups work internally::
-* New markup command definition::
-* New markup list command definition::
+* Markup construction in Scheme::
+* How markups work internally::
+* New markup command definition::
+* New markup list command definition::
@end menu
@node Markup construction in Scheme
@menu
-* Context evaluation::
-* Running a function on all layout objects::
+* Context evaluation::
+* Running a function on all layout objects::
@end menu
@node Context evaluation
@untranslated
-@c -- SKELETON FILE --
+
+@menu
+* Using Scheme code instead of tweak::
+* Difficult tweaks::
+@end menu
+
+@node Using Scheme code instead of tweak
+@section Using Scheme code instead of @code{\tweak}
+
+L'inconvénient principal de la commande @code{\tweak} est la rigidité de sa
+syntaxe. Par exemple, le code suivant produit une erreur.
+
+@example
+F = \tweak #'font-size #-3 -\flageolet
+
+\relative c'' @{
+ c4^\F c4_\F
+@}
+@end example
+
+@noindent
+En d'autres termes, @code{\tweak} ne se comporte pas comme une articulation :
+il ne peut notamment pas être accolé avec les symboles @samp{^} ou @samp{_}.
+
+C'est en se servant du langage Scheme que l'on peut résoudre ce problème.
+Dans cet exemple, on a recours aux méthodes décrites dans @ref{Adding
+articulation to notes (example)}, en particulier quant à l'emploi de
+@code{\displayMusic}.
+
+@example
+F = #(let ((m (make-music 'ArticulationEvent
+ 'articulation-type "flageolet")))
+ (set! (ly:music-property m 'tweaks)
+ (acons 'font-size -3
+ (ly:music-property m 'tweaks)))
+ m)
+
+\relative c'' @{
+ c4^\F c4_\F
+@}
+@end example
+
+@noindent
+Ici les propriétés @code{tweak} de l'objet flageolet nommé
+@samp{m} (créé au moyen de @code{make-music}) sont extraites par
+@code{ly:music-property}, une nouvelle valeur de la taille de fonte
+est ajoutée à la liste de ses propriétés (grâce à la fonction Scheme
+@code{acons}), et le résultat de cette opération est renvoyé par @code{set!}.
+Le dernier élément, dans ce bloc @code{let}, est la valeur finale de
+@samp{m} lui-même.
+
+
+@node Difficult tweaks
+@section Difficult tweaks
+
+Certains réglages sont plus délicats que d'autres.
+
+@itemize @bullet
+
+
+@item
+L'un d'entre eux est l'apparence des objets dits @q{spanner}, qui s'étendent
+horizontalement, tels que les liaisons. Si, en principe, un seul de ces objets
+est créé à la fois et peut donc être modifié de façon habituelle, lorsque ces
+objets doivent enjamber un changement de ligne, ils sont dupliqués au début
+du ou des systèmes suivants. Comme ces objets sont des clones de l'objet d'origine,
+ils en héritent toutes les propriétés, y compris les éventuelles commandes @code{\override}.
+
+
+En d'autres termes, une commande @code{\override} affecte toujours les deux extrémités
+d'un objet @q{spanner}. Pour ne modifier que la partie précédant ou suivant le changement
+de ligne, il faut intervenir directement dans le processus de mise en page.
+La fonction de rappel @code{after-line-breaking} contient toute l'opération Scheme
+effectuée lorsque les sauts de lignes ont été déterminés, et que des objets graphiques
+ont été divisés sur des systèmes différents.
+
+Dans l'exemple suivant, on définit une nouvelle opération nommée
+@code{my-callback}. Cette opération
+
+@itemize @bullet
+@item
+détermine si l'objet a été divisé à l'occasion d'un changement de ligne
+@item
+si oui, recherche les différents morceaux de l'objet
+@item
+vérifie si l'objet considéré est bien la deuxième moitié d'un objet divisé
+@item
+si oui, applique un espacement supplémentaire (@code{extra-offset}).
+@end itemize
+
+On ajoute cette procédure à l'objet @rinternals{Tie} (liaison de tenue),
+de façon à ce que le deuxième morceau d'une liaison divisée soit rehaussé.
+
+@c KEEP LY
+@lilypond[quote,verbatim,ragged-right]
+#(define (my-callback grob)
+ (let* (
+ ; l'objet a-t-il été divisé ?
+ (orig (ly:grob-original grob))
+
+ ; si oui, rechercher les morceaux frères (siblings)
+ (siblings (if (ly:grob? orig)
+ (ly:spanner-broken-into orig) '() )))
+
+ (if (and (>= (length siblings) 2)
+ (eq? (car (last-pair siblings)) grob))
+ (ly:grob-set-property! grob 'extra-offset '(-2 . 5)))))
+
+\relative c'' {
+ \override Tie #'after-line-breaking =
+ #my-callback
+ c1 ~ \break c2 ~ c
+}
+@end lilypond
+
+@noindent
+Lorsque cette astuce va être appliquée, notre nouvelle fonction de rappel
+@code{after-line-breaking} devra également appeler celle d'origine
+(@code{after-line-breaking}), si elle existe.
+Ainsi, pour l'utiliser dans le cas d'un crescendo (objet @code{Hairpin}),
+il faudra appeler également @code{ly:hairpin::after-line-breaking}.
+
+
+@item Pour des raisons d'ordre technique, certains objets ne peuvent être modifiés par
+@code{\override}. Parmi ceux-là, les objets @code{NonMusicalPaperColumn}
+et @code{PaperColumn}. La commande @code{\overrideProperty} sert à les modifier, de
+façon similaire à @code{\once \override}, mais avec une syntaxe différente :
+
+@example
+\overrideProperty
+#"Score.NonMusicalPaperColumn" % Nom de l'objet
+#'line-break-system-details % Nom de la propriété
+#'((next-padding . 20)) % valeur
+@end example
+
+Notez cependant que la commande @code{\override} peut tout de même être appliquée
+à @code{NoteMusicalPaperColumn} et @code{PaperColumn} dans un bloc @code{\context}.
+
+@end itemize
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@c This file is part of lilypond-program.tely
@ignore
- Translation of GIT committish: 4a527608c5ff2ce31e596495d00dce181dc1b9ea
+ Translation of GIT committish: 1e2013ba299c3640143448cbd5ea72f2aa61e380
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@end ignore
+@c \version "2.11.61"
+
+@c Translators: Jean-Charles Malahieude
@node Setup
@chapter Setup
-@untranslated
-
+Ce chapitre traite des options de configuration à effectuer après
+l'installation de LilyPond et de ses dépendances. Il tient lieu de
+référence en la matière : ne vous intéressez qu'à la rubrique qui vous
+concerne directement.
@menu
* Setup for specific Operating Systems::
@node Setup for specific Operating Systems
@section Setup for specific Operating Systems
-@untranslated
-
+Cette partie explique comment optimiser l'installation propres à
+certains systèmes.
@menu
-* MacOS X on the command-line::
+* Setup for MacOS X::
@end menu
-@node MacOS X on the command-line
-@subsection MacOS X on the command-line
+@node Setup for MacOS X
+@subsection Setup for MacOS X
+
+@subsubheading Using Python scripts on MacOS 10.3 or 10.4
+
+Les exécutables de LilyPond pour MacOS X ne fournissent pas Python, bien
+qu'une version au moins de niveau 2.4 soit requise par
+@command{convert-ly}. Ainsi, et si vous utilisez MacOS 10.3 ou 10.4,
+devrez-vous installer une version plus récente de Python à partir de
+@uref{http://python.org/download/}, puis éditer la première ligne de
+@command{convert-ly} et @command{lilypond-book}. Si les exécutables du
+Python que vous venez d'installer sont dans votre @var{PATH}, cette ligne
+doit être :
+
+@example
+#!/usr/bin/env python
+@end example
+
+@noindent
+et dans le cas contraire
+
+@example
+#!@var{/chemin/vers/nouvelle_installation/python}
+@end example
+
+
+@subsubheading MacOS X on the command line
+
+Les scripts tels que @command{lilypond-book}, @command{convert-ly},
+@command{abc2ly}, et même @command{lilypond}, sont insclus dans un
+fichier @code{.app} pour MacOS@tie{}X. Vous pourrez les lancer
+directement en ligne de commande de la manière suivante :
+
+@example
+@var{chemin/vers}/LilyPond.app/Contents/Resources/bin/lilypond
+@end example
+
+@noindent
+Il en va de même pour les autres scripts de ce répertoire, y compris
+@command{lilypond-book}, @command{convert-ly}, @command{abc2ly}, etc.
+
+Une autre façon de procéder consiste à créer des scripts qui ajoutent
+automatiquement le chemin. À cette intention, créez un répertoire qui
+contiendra ces scripts :
+
+@example
+mkdir -p ~/bin
+cd ~/bin
+@end example
+
+Créez un fichier appelé @code{lilypond} et qui contiendra :
+
+@example
+exec @var{chemin/vers}/LilyPond.app/Contents/Resources/bin/lilypond "$@@"
+@end example
+
+Créez autant de fichiers -- @code{lilypond-book}, @code{convert-ly}, et
+autres programmes annexes que vous utilisez (@code{abc2ly},
+@code{midi2ly}, etc) -- que de besoin. Remplacez simplement
+@code{bin/lilypond} par @code{bin/convert-ly} ou tout autre nom de
+programme dans le fichier que vous créez.
-@untranslated
+Rendez ces fichiers exécutables :
+
+@example
+chmod u+x lilypond
+@end example
+
+Ajoutez alors ce répertoire à votre @var{PATH}. Modifiez le fichier
+@code{.profile} -- créez-le si besoin -- de votre répertoire personnel,
+de telle sorte qu'il contienne
+
+@example
+export PATH=$PATH:~/bin
+@end example
+
+@noindent
+Ce fichier doit se terminer par une ligne vide.
+
+Notez que @var{chemin/vers} devrait correspondre à @code{/Applications/}.
@node Text editor support
@section Text editor support
-@untranslated
+@cindex editors
+@cindex vim
+@cindex emacs
+@cindex modes, editor
+@cindex syntax coloring
+@cindex coloring, syntax
+Certains éditeurs de texte prennent en charge LilyPond.
@menu
* Emacs mode::
@node Emacs mode
@subsection Emacs mode
-@untranslated
+Emacs dispose d'un @file{lilypond-mode} qui fournit l'autocomplétion des
+mots-clés, l'indentation, les appariements spécifiques à LilyPond, la
+coloration synthaxique, ainsi que des raccourcis pour compiler et
+consulter les manuels de LilyPond en mode info. Si le
+@file{lilypond-mode} n'était pas installé sur votre système, procédez
+comme ci-dessous.
+
+Le répertoire @file{elisp} inclus dans les sources contient aussi un
+mode pour saisir la musique et lancer LilyPond. Faites @command{make
+install} pour l'installer dans votre @var{elispdir}. Le fichier
+@file{lilypond-init.el} devrait trouver sa place dans
+@var{load-path}@file{/site-start.d/} ou bien ajouté à votre
+@file{~/.emacs} ou @file{~/.emacs.el}.
+
+En tant que simple utilisateur, vous pouvez toujours ajouter votre
+propre répertoire (par exemple @file{~/site-lisp/}) à votre
+@var{load-path} en ajoutant la ligne suivante -- modifiée en conséquence
+-- à votre @file{~/.emacs} :
+
+@c any reason we do not advise: (push "~/site-lisp" load-path)
+@example
+(setq load-path (append (list (expand-file-name "~/site-lisp")) load-path))
+@end example
@node Vim mode
@subsection Vim mode
-@untranslated
+En ce qui concerne @uref{http://@/www@/.vim@/.org,VIM}, LilyPond fournit
+un fichier @file{vimrc} qui gère la coloration synthaxique. Le
+répertoire @code{$VIM} inclus dans les sources contient aussi un
+mode pour saisir la musique et lancer LilyPond.
+
+Le type de fichier LilyPond sera reconnu si votre
+@file{~/.vim/filetype.vim} contient
+
+@example
+if exists("did_load_filetypes")
+ finish
+endif
+augroup filetypedetect
+ au! BufNewFile,BufRead *.ly setf lilypond
+augroup END
+@end example
+
+N'oubliez pas d'inclure ce chemin en ajoutant à votre @file{~/.vimrc} la
+ligne suivante :
+
+@example
+set runtimepath+=/usr/local/share/lilypond/$@{LILYPOND_VERSION@}/vim/
+@end example
+
+@noindent
+où $@{LILYPOND_VERSION@} correspond à votre version de LilyPond. Si
+LilyPond n'est pas installé dans @file{/usr/local/}, modifiez ce chemin
+en conséquence.
@node jEdit
@subsection jEdit
-@untranslated
+Créé en tant que greffon pour l'éditeur de texte
+@uref{http://@/www@/.jedit@/.org@/,jEdit}, LilyPondTool est l'outil le
+plus riche en fonctionnalités pour éditer des partitions écrites avec
+LilyPond. Cela inclue un assistant à la création de document qui prend
+en charge les paroles, un visionneur de PDF avec gestion du
+pointer-cliquer. Captures d'écran, démonstrations et instructions
+d'installation sont disponibles sur le site de
+@uref{http://lilypondtool@/.organum@/.hu,LilyPondTool}.
@node TexShop
@subsection TexShop
-@untranslated
+L'éditeur
+@uref{http://@/www@/.uoregon@/.edu/~koch/texshop/index@/.html,TexShop}
+pour MacOS@tie{}X peut prendre en charge LilyPond, lilypond-book et
+convert-ly, en lui adjoignant les extensions disponibles
+@uref{http://@/www@/.dimi@/.uniud@/.it/vitacolo/freesoftware@/.html,ici}.
@node TextMate
@subsection TextMate
-@untranslated
+TextMate dispose d'un greffon pour LilyPond. Vous pouvez l'installer en
+lançant :
+
+@example
+mkdir -p /Library/Application\ Support/TextMate/Bundles
+cd /Library/Application\ Support/TextMate/Bundles
+svn co http://macromates.com/svn/Bundles/trunk/Bundles/Lilypond.tmbundle/
+@end example
@node LilyKDE
@subsection LilyKDE
-@untranslated
+@uref{http://lilykde.googlecode.com/,LilyKDE} est un greffon pour
+@uref{http://kate-editor.org/,Kate}, l'éditeur de texte de
+l'environnement de bureau KDE. Il dispose d'un assistant à la création
+de document LilyPond et un visionneur de PDF.
+LilyKDE peut s'interfacer avec
+@uref{http://www.volny.cz/smilauer/rumor/,Rumor}, afin de pouvoir entrer
+la musique à l'aide d'un clavier MIDI.
-@node Point and click
-@section Point and click
+LilyKDE gère l'hyphénation des paroles, et le gestionnaire de fichiers
+de KDE permet de lancer LilyPond sur plusierus fichiers simultanément.
-@untranslated
+@node Point and click
+@section Point and click
+Le pointer-cliquer (@emph{point and click}) permet de se retrouver
+directement dans le fichier source, à la note que l'on pointe dans le
+visionneur de PDF. Ceci facilite grandement le repérage des erreurs à
+partir du fichier imprimable.
+
+Lorsque cette fonctionnalité est active, LilyPond ajoute des hyperliens
+au fichier PDF. Ces liens sont transmis au navigateur internet qui se
+charge d'ouvrir un éditeur de texte à l'enfroit même où le curseur
+pointe.
+
+Afin que cette chaîne de traitement soit pleinement opérationnelle, il
+faut configurer votre visionneur de PDF de façon à ce qu'il suive les
+liens grâce au script @file{lilypond-invoke-editor} fourni avec
+LilyPond.
+
+
+Pour Xpdf, sous UNIX, vous devrez insérer la ligne suivante dans
+le fichier @file{xpdfrc} -- soit @file{/etc/xpdfrc}, soit dans votre
+répertoire personnel @file{.xpdfrc}.
+
+@example
+urlCommand "lilypond-invoke-editor %s"
+@end example
+
+@file{lilypond-invoke-editor} est un petit programme assistant. Il se
+charge d'appeler un éditeur pour les identifants 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 :
+
+@table @code
+@item emacs
+ sera alors lancée la commande
+@example
+emacsclient --no-wait +@var{line}:@var{column} @var{file}
+@end example
+@item vim
+ sera alors lancée la commande
+@example
+gvim --remote +:@var{line}:norm@var{char} @var{file}
+@end example
+
+@item nedit
+ sera alors lancée la commande
+@example
+nc -noask +@var{line} @var{file}'
+@end example
+@end table
+
+La variable d'environnement @code{LYEDITOR} permet d'anticiper cette
+affectation, puisqu'elle contient la commande qui permet de lancer
+l'éditeur en tenant compte des valeurs respectives de @code{%(file)},
+@code{%(column)} , et@code{%(line)}. Par exemple,
+
+@example
+emacsclient --no-wait +%(line)s:%(column)s %(file)s
+@end example
+
+@noindent
+en variable d'environnement @code{LYEDITOR} revient au lancement d'un
+client emacs standard.
+
+
+@cindex ficher de sortie, taille
+@cindex taille du ficher de sortie
+
+L'option pointer-cliquer accroît la taille des fichiers de manière
+significative. Afin de réduire la taille des fichiers PDF et PS, il est
+toujours possible de désactiver le pointer-cliquer en ajoutant
+
+@example
+\pointAndClickOff
+@end example
+
+@noindent
+dans le fichier @file{.ly}. Il peut alors être activé de manière
+explicite grâce à
+
+@example
+\pointAndClickOn
+@end example
+
+Le pointer-cliquer peut aussi être désactivé au moment de la compilation
+en ligne de commande :
+
+@example
+lilypond -dno-point-and-click fichier.ly
+@end example
+
+@warning{Lorsqu'un fichier LilyPond est destiné à être redistribué,
+pensez à désactiver le pointer-cliquer, de telle sorte que les chemins
+d'accès et autres informations propres à votre système ne se retrouvent
+pas inclus dans le fichier @file{.pdf}.}
-@c -- SKELETON FILE --
margin: 1em 1%;
}
+table.cartouche {
+ width: 85%;
+ margin: 1em 7.5%;
+}
+
/***********************************************************/
/* TOC SIDEBAR */
/***********************************************************/
/***********************************************************/
table#navigation, div#tocframe, div#main,
-p, .footer, #languages {
+p, h1, h2, ul, .footer, #languages {
text-align: left;
}
-div.subheader p {
+div.header h1, div.subheader p {
text-align: center;
}
height: 100%;
font-size: 100%;
line-height: 1.125;
- color: black;
- background-color: white;
+ color: #000;
+ background-color: #fff;
}
/***********************************************************/
background: #b1d281;
font-size: 2em;
text-align: center;
- margin: 0;
padding: 0.4em 0.5em;
- border: 1px solid #7b925a;
- border-width: 0 0 1px 0;
+ border: solid #7b925a;
+ border-width: 1px 0;
+ margin: 0;
}
.chapter, .appendix, .unnumbered {
}
.chapheading {
- text-indent: -999em;
+ position: absolute;
height: 0;
- padding: 0;
- margin: 0;
+ overflow: hidden;
+ text-indent: -999em;
}
/***********************************************************/
/***********************************************************/
a:link {
- color: #3465a4;
+ color: #0c51ab;
}
a:visited {
- color: #8f5902;
+ color: #804f01;
}
a:active {
- color: #73d216;
+ color: #278800;
}
a:hover {
- color: #ce5c00;
+ color: #0105ad;
}
/***********************************************************/
blockquote {
width: 96%;
padding: 0;
- border: 1px solid #708a4b;
- border-left: 5px solid #a3ca6d;
+ border: solid #b1d281;
+ border-width: 1px 1px 1px 5px;
margin: 1em auto;
}
}
table.cartouche {
- background: #f5f5dc; /* beige */
+ background: #f5f5dc;
width: 85%;
border-collapse: collapse;
padding: 0 0.5em;
}
#languages {
- background-color: #f5f5dc; /* beige */
padding: 0.5em 1em;
- border-top: 1px solid #8fa77f;
margin: 0;
}
padding: 0;
margin: 0;
overflow: auto;
- background-color: #f5f5dc; /* beige */
+ background: #f5f5dc;
z-index: 100;
list-style-type: none;
font-size: 0.83em;
- line-height: 1.4;
+ line-height: 1.3;
}
@media screen {
}
}
+div#tocframe a:link, div#tocframe a:visited {
+ color: #454532;
+ text-decoration: none;
+}
+
+div#tocframe a:hover {
+ color: #232b16;
+ text-decoration: underline;
+}
+
div#tocframe p.toc_uplink {
font-size: 1em;
line-height: 1.125;
background: #c9ccc4;
- padding: 0.25em 1em;
- border-bottom: 1px solid #8a8c87;
+ padding: 0.25em 1em 0.25em 0.5em;
+ border-bottom: 1px solid #a0a087;
margin: 0;
}
+div#tocframe p.toc_uplink a:link,
+div#tocframe p.toc_uplink a:visited {
+ color: #1c1c1b;
+}
+
+div#tocframe p.toc_uplink a:hover {
+ color: #000;
+}
+
div#tocframe h4 {
font-size: 1em;
line-height: 1.125;
font-weight: bold;
font-style: italic;
- /* background: #c9ccc4; */
- /* padding: 0.25em 1em; */
padding: 0.75em 0.5em 0 0.5em;
- /* border-bottom: 1px solid #8a8c87; */
margin: 0;
}
width: 100%;
background: #c9ccc4;
font-size: 0.83em;
- line-height: 1.125;
border-collapse: collapse;
padding: 0;
- border: 0;
- border-bottom: 1px solid #8a8c87;
+ border: none;
margin: 0;
}
+.nav_table a:link, .nav_table a:visited {
+ color: #1c1c1b;
+ text-decoration: none;
+}
+
+.nav_table a:hover {
+ color: #000;
+ text-decoration: underline;
+}
+
.nav_table tr, .nav_table a {
padding: 0;
margin: 0;
}
div.subheader {
- background-color: #ddd;
+ background: #ddd;
padding: 0;
margin: 0;
text-align: center;
}
.footer {
- background: #c6e7b0;
+ background: #e5f5ce;
font-size: 0.8em;
- border: 0;
padding: 0.2em 0;
+ border: solid #b1d281;
+ border-width: 0 0 5px 0;
margin: 0;
}
+.footer a:link {
+ color: #0308fc;
+}
+
.footer p {
padding: 0 1.25em;
margin: 0.4em 0;
+# translation of de.po to German
# translation of LilyPond documentation
# Copyright (C) 2006 Han-Wen Nienhuys, Jan Nieuwenhuizen
# This file is distributed under the same license as the lilypond package.
-# Till Rettig <till.rettig@gmx.de>, 2007,2008
#
#
+# Till Rettig <till.rettig@gmx.de>, 2007,2008.
msgid ""
msgstr ""
"Project-Id-Version: de\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-12-20 13:08+0100\n"
-"PO-Revision-Date: 2008-12-14 00:17+0200\n"
+"POT-Creation-Date: 2008-12-25 12:33+0100\n"
+"PO-Revision-Date: 2008-12-27 17:09+0200\n"
"Last-Translator: Till Rettig <till.rettig@gmx.de>\n"
-"Language-Team: de\n"
+"Language-Team: German <de>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. @node in Documentation/user/setup.itely
#. @subsection in Documentation/user/setup.itely
+#. @node in Documentation/fr/user/setup.itely
+#. @subsection in Documentation/fr/user/setup.itely
#. @node in Documentation/es/user/setup.itely
#. @subsection in Documentation/es/user/setup.itely
#. @node in Documentation/de/user/setup.itely
msgstr "Einrichtung für MacOS X"
#. @subsubheading in Documentation/user/setup.itely
+#. @subsubheading in Documentation/fr/user/setup.itely
#. @subsubheading in Documentation/es/user/setup.itely
#. @subsubheading in Documentation/de/user/setup.itely
msgid "Using Python scripts on MacOS 10.3 or 10.4"
msgstr "Benutzung von Python-Skripten unter MacOS 10.3 oder 10.4"
#. @subsubheading in Documentation/user/setup.itely
+#. @subsubheading in Documentation/fr/user/setup.itely
#. @subsubheading in Documentation/es/user/setup.itely
#. @subsubheading in Documentation/de/user/setup.itely
msgid "MacOS X on the command line"
#. @unnumberedsubsubsec in Documentation/es/user/keyboards.itely
#. @node in Documentation/de/user/keyboards.itely
#. @unnumberedsubsubsec in Documentation/de/user/keyboards.itely
-#, fuzzy
msgid "References for harps"
-msgstr "Referenz für Tasteninstrumente"
+msgstr "Referenzen für Harfe"
#. @node in Documentation/user/keyboards.itely
#. @unnumberedsubsubsec in Documentation/user/keyboards.itely
#. Documentation/user/fretted-strings.itely:834 (variable)
#. Documentation/user/fretted-strings.itely:865 (variable)
#. Documentation/user/fretted-strings.itely:889 (variable)
-#. Documentation/user/fretted-strings.itely:935 (variable)
+#. Documentation/user/fretted-strings.itely:937 (variable)
msgid "mychords"
msgstr "meineAkkorde"
msgid "mychordlist"
msgstr "meineAkkordliste"
-#. Documentation/user/fretted-strings.itely:922 (comment)
+#. Documentation/user/fretted-strings.itely:924 (comment)
msgid "add a new chord shape"
msgstr "Neues Akkordmuster hinzufügen"
-#. Documentation/user/fretted-strings.itely:926 (comment)
+#. Documentation/user/fretted-strings.itely:928 (comment)
msgid "add some new chords based on the power chord shape"
msgstr "neue Akkorde basierend auf dem power-chord-Muster hinzufügen"
#. Documentation/user/percussion.itely:386 (comment)
msgid "if you like, you can change it or you can use special note heads"
msgstr ""
-"Wenn Sie wollen, können Sie das ändern oder besondere Notenkönpfe benutzen"
+"Wenn Sie wollen, können Sie das ändern oder besondere Notenköpfe benutzen"
#. Documentation/user/percussion.itely:387 (comment)
msgid "for the woodblocks."
msgid "Bagpipe example"
msgstr "Dudelsack-Beispiele"
-#. Documentation/user/chords.itely:663 (variable)
+#. Documentation/user/chords.itely:669 (variable)
msgid "myChords"
msgstr "meineAkkorde"
-#. Documentation/user/chords.itely:993 (comment)
-#. Documentation/user/chords.itely:1014 (comment)
+#. Documentation/user/chords.itely:999 (comment)
+#. Documentation/user/chords.itely:1020 (comment)
msgid "Put notes on same Staff as figures"
msgstr "Noten auf dem gleichen System wie die Symbole"
-#. Documentation/user/chords.itely:1077 (comment)
+#. Documentation/user/chords.itely:1083 (comment)
msgid "The extenders are correct here, with the same rhythm as the bass"
msgstr "Linien stimmen hier, mit dem gleichen Rhythmus wie im Bass"
-#. Documentation/user/chords.itely:1089 (comment)
+#. Documentation/user/chords.itely:1095 (comment)
msgid "The extenders are incorrect here, even though the timing is the same"
msgstr "Linien stimmen nicht, obwohl der Rhythmus der gleiche ist"
msgid "third finger"
msgstr "dritter Finger"
-#. Documentation/user/changing-defaults.itely:2945 (comment)
+#. Documentation/user/changing-defaults.itely:2948 (comment)
+#. Documentation/user/changing-defaults.itely:2980 (comment)
#. input/lsr/aligning-marks-with-various-notation-objects.ly:39 (comment)
msgid "the RehearsalMark will be centered above the Clef"
msgstr "RehearsalMark zentrieren über dem Schlüssel"
-#. Documentation/user/changing-defaults.itely:2951 (comment)
+#. Documentation/user/changing-defaults.itely:2954 (comment)
#. input/lsr/aligning-marks-with-various-notation-objects.ly:46 (comment)
msgid "the RehearsalMark will be centered above the TimeSignature"
msgstr "RehearsalMark zentrieren über der Taktart (TimeSignature)"
-#. Documentation/user/changing-defaults.itely:2965 (comment)
+#. Documentation/user/changing-defaults.itely:2974 (comment)
+msgid "the RehearsalMark will be centered above the Key Signature"
+msgstr "RehearsalMark wird über der Tonart (KeySignature) zentriert"
+
+#. Documentation/user/changing-defaults.itely:2994 (comment)
msgid "The RehearsalMark will be centered above the KeySignature"
msgstr "RehearsalMark zentrieren über der Tonart (KeySignature)"
-#. Documentation/user/changing-defaults.itely:2972 (comment)
-#. Documentation/user/changing-defaults.itely:2988 (comment)
-#. Documentation/user/changing-defaults.itely:2995 (comment)
+#. Documentation/user/changing-defaults.itely:3001 (comment)
+#. Documentation/user/changing-defaults.itely:3017 (comment)
+#. Documentation/user/changing-defaults.itely:3024 (comment)
msgid ""
"The RehearsalMark will be aligned with the left edge of the KeySignature"
msgstr "RehearsalMark mit der linken Ecke von KeySignature ausrichten"
-#. Documentation/user/changing-defaults.itely:2977 (comment)
+#. Documentation/user/changing-defaults.itely:3006 (comment)
msgid ""
"The RehearsalMark will be aligned with the right edge of the KeySignature"
msgstr "RehearsalMark mit der rechten Ecke von KeySignature ausrichten"
-#. Documentation/user/changing-defaults.itely:2989 (comment)
+#. Documentation/user/changing-defaults.itely:3018 (comment)
msgid "and then shifted right by 3.5 staff-spaces"
msgstr "nach rechts um 3,5 Linienabstände verschieben"
-#. Documentation/user/changing-defaults.itely:2996 (comment)
+#. Documentation/user/changing-defaults.itely:3025 (comment)
msgid "and then shifted left by 2 staff-spaces"
msgstr "nach links um 2 Linienabstände verschieben"
-#. Documentation/user/changing-defaults.itely:3045 (variable)
+#. Documentation/user/changing-defaults.itely:3073 (variable)
msgid "XinO"
msgstr "XinO"
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @node in Documentation/es/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
-msgid "Using the @code{break-aligned-interface}"
-msgstr "Das @code{break-aligned-interface} benutzen"
+msgid "Using the @code{break-alignable-interface}"
+msgstr "Benutzung des @code{break-aligned-interface}"
#. @node in Documentation/user/changing-defaults.itely
#. @subsection in Documentation/user/changing-defaults.itely
msgid "GNU LilyPond --- Utilisation des programmes"
msgstr "GNU LilyPond -- Die Programmbenutzung"
-#. @node in Documentation/fr/user/setup.itely
-#. @subsection in Documentation/fr/user/setup.itely
-msgid "MacOS X on the command-line"
-msgstr "MacOS X auf der Kommandozeile"
-
#. @section in Documentation/fr/user/running.itely
msgid "Updating with @command{convert-ly}"
msgstr "Dateien mit @command{convert-ly} aktualisieren"
msgid "Ignorieren von Melismen"
msgstr "Melismen ignorieren"
+#. @node in Documentation/de/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
+msgid "Using the @code{break-aligned-interface}"
+msgstr "Das @code{break-aligned-interface} benutzen"
+
#. input/lsr/accordion-discant-symbols.ly:34 (variable)
msgid "discant"
msgstr "Diskant"
msgid ""
"1. write repeatedly 'c c c c c c c c |' for the whole length of the song "
msgstr ""
-"1. wiederholgt 'c·c·c·c·c·c·c·c·|' über die gesamte Länge des Stückes "
+"1. wiederholt 'c·c·c·c·c·c·c·c·|' über die gesamte Länge des Stückes "
"schreiben"
#. input/lsr/score-for-diatonic-accordion.ly:90 (comment)
"\\include \\\"piece.ly\\\" %%% uncomment this line when using a "
"separate file"
msgstr ""
-"\\include·\\\"piece.ly\\\"·············%%%·Zeile einkommentierten, wenn eine "
-"extraDatei benutzt wird"
+"\\include \\\"piece.ly\\\" %%% Zeile einkommentieren, wenn eine "
+"extra Datei benutzt wird"
#. input/lsr/string-quartet-template-with-separate-parts.ly:122 (comment)
msgid "{ Uncomment this block when using separate files"
msgid "Table of Contents"
msgstr "Inhaltsverzeichnis"
+#~ msgid "MacOS X on the command-line"
+#~ msgstr "MacOS X auf der Kommandozeile"
+
#~ msgid "Harp notation"
#~ msgstr "Harfennotation"
msgstr ""
"Project-Id-Version: es\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-12-20 17:44+0100\n"
+"POT-Creation-Date: 2008-12-25 12:33+0100\n"
"PO-Revision-Date: 2008-12-20 17:45+0100\n"
"Last-Translator: Francisco Vila <francisco.vila@hispalinux.es>\n"
"Language-Team: Español\n"
#. Documentation/user/tweaks.itely:736 (comment)
msgid "Revert thickness of all following slurs to default of 1.2"
-msgstr "Devolver el grosor de las ligaduras siguientes al valor predeterminado 1.2"
+msgstr ""
+"Devolver el grosor de las ligaduras siguientes al valor predeterminado 1.2"
#. Documentation/user/tweaks.itely:1396 (comment)
msgid "Don't print clefs in this staff"
#. Documentation/user/tweaks.itely:1528 (comment)
msgid "Reduce stem length and line spacing to match"
-msgstr "Reducir la longitud de la plica y el espaciado de la línea en coincidencia"
+msgstr ""
+"Reducir la longitud de la plica y el espaciado de la línea en coincidencia"
#. Documentation/user/tweaks.itely:1958 (comment)
#. Documentation/user/tweaks.itely:2028 (comment)
#. Documentation/user/tweaks.itely:2033 (comment)
msgid "Place following Ottava Bracket below Text Spanners"
-msgstr "Situar el corchete de octava ulterior por debajo de los extensores de texto"
+msgstr ""
+"Situar el corchete de octava ulterior por debajo de los extensores de texto"
#. Documentation/user/tweaks.itely:2095 (comment)
msgid "Cause notes to space out to accommodate text"
#. @subheading in Documentation/es/user/tweaks.itely
#. @subheading in Documentation/de/user/tweaks.itely
msgid "left-padding and right-padding"
-msgstr "left-padding y right-padding (relleno por la izquierda y por la derecha)"
+msgstr ""
+"left-padding y right-padding (relleno por la izquierda y por la derecha)"
#. @subheading in Documentation/user/tweaks.itely
#. @subheading in Documentation/fr/user/tweaks.itely
#. @node in Documentation/user/setup.itely
#. @subsection in Documentation/user/setup.itely
+#. @node in Documentation/fr/user/setup.itely
+#. @subsection in Documentation/fr/user/setup.itely
#. @node in Documentation/es/user/setup.itely
#. @subsection in Documentation/es/user/setup.itely
#. @node in Documentation/de/user/setup.itely
msgstr "Configuración para MacOS X"
#. @subsubheading in Documentation/user/setup.itely
+#. @subsubheading in Documentation/fr/user/setup.itely
#. @subsubheading in Documentation/es/user/setup.itely
#. @subsubheading in Documentation/de/user/setup.itely
msgid "Using Python scripts on MacOS 10.3 or 10.4"
msgstr "Uso de guiones Python en MacOS 10.3 o 10.4"
#. @subsubheading in Documentation/user/setup.itely
+#. @subsubheading in Documentation/fr/user/setup.itely
#. @subsubheading in Documentation/es/user/setup.itely
#. @subsubheading in Documentation/de/user/setup.itely
msgid "MacOS X on the command line"
#. Documentation/user/rhythms.itely:1598 (comment)
msgid "end 1/16 beams for all time signatures at the 1/16 moment"
-msgstr "finalizar barras de semicorchea para todos los compases en el momento 1/16"
+msgstr ""
+"finalizar barras de semicorchea para todos los compases en el momento 1/16"
#. Documentation/user/rhythms.itely:1602 (comment)
msgid "end 1/32 beams for all time signatures at the 1/16 moment"
#. Documentation/user/rhythms.itely:2070 (comment)
msgid "Prevent bar numbers at the end of a line and permit them elsewhere"
-msgstr "No poner números de compás al final de la línea, pero sí en otros lugares"
+msgstr ""
+"No poner números de compás al final de la línea, pero sí en otros lugares"
#. Documentation/user/rhythms.itely:2074 (comment)
#. Documentation/user/rhythms.itely:2100 (comment)
#. Documentation/user/editorial.itely:326 (comment)
msgid "this is deliberate nonsense; note that the stems remain black"
-msgstr "esto no tiene sentido, intencionalmente. Observe que las plicas siguen negras"
+msgstr ""
+"esto no tiene sentido, intencionalmente. Observe que las plicas siguen negras"
#. @node in Documentation/user/editorial.itely
#. @section in Documentation/user/editorial.itely
#. Documentation/user/fretted-strings.itely:834 (variable)
#. Documentation/user/fretted-strings.itely:865 (variable)
#. Documentation/user/fretted-strings.itely:889 (variable)
-#. Documentation/user/fretted-strings.itely:935 (variable)
+#. Documentation/user/fretted-strings.itely:937 (variable)
msgid "mychords"
msgstr "misAcordes"
msgid "mychordlist"
msgstr "miListaDeAcordes"
-#. Documentation/user/fretted-strings.itely:922 (comment)
+#. Documentation/user/fretted-strings.itely:924 (comment)
msgid "add a new chord shape"
msgstr "añadir una forma de acorde nueva"
-#. Documentation/user/fretted-strings.itely:926 (comment)
+#. Documentation/user/fretted-strings.itely:928 (comment)
msgid "add some new chords based on the power chord shape"
msgstr "añadir acordes nuevos basados en la forma de acorde principal"
#. Documentation/user/percussion.itely:396 (comment)
msgid "This is neccessary; if not entered, the barline would be too short!"
-msgstr "Esto es necesario; si no se pone, la línea divisoria sería demasiado corta."
+msgstr ""
+"Esto es necesario; si no se pone, la línea divisoria sería demasiado corta."
#. Documentation/user/percussion.itely:403 (comment)
msgid "with this you load your new drum style table"
msgid "Bagpipe example"
msgstr "Ejemplo de música de gaita"
-#. Documentation/user/chords.itely:663 (variable)
+#. Documentation/user/chords.itely:669 (variable)
msgid "myChords"
msgstr "misAcordes"
-#. Documentation/user/chords.itely:993 (comment)
-#. Documentation/user/chords.itely:1014 (comment)
+#. Documentation/user/chords.itely:999 (comment)
+#. Documentation/user/chords.itely:1020 (comment)
msgid "Put notes on same Staff as figures"
msgstr "Poner las notas en el mismo pentagrama que los números"
-#. Documentation/user/chords.itely:1077 (comment)
+#. Documentation/user/chords.itely:1083 (comment)
msgid "The extenders are correct here, with the same rhythm as the bass"
msgstr "Los extensores aquí son correctos, con el mismo ritmo que el bajo"
-#. Documentation/user/chords.itely:1089 (comment)
+#. Documentation/user/chords.itely:1095 (comment)
msgid "The extenders are incorrect here, even though the timing is the same"
msgstr "Los extensores aquí son incorrectos, aunque la medida es la misma"
#. @node in Documentation/es/user/ancient.itely
#. @subsection in Documentation/es/user/ancient.itely
msgid "Typesetting Gregorian chant"
-msgstr "Tipografiado del canto Gregoriano"
+msgstr "Tipografiado del canto gregoriano"
#. @node in Documentation/user/ancient.itely
#. @unnumberedsubsubsec in Documentation/user/ancient.itely
#. @node in Documentation/de/user/ancient.itely
#. @unnumberedsubsubsec in Documentation/de/user/ancient.itely
msgid "Gregorian chant contexts"
-msgstr "Contextos del Canto Gregoriano"
+msgstr "Contextos del canto gregoriano"
#. @node in Documentation/user/ancient.itely
#. @unnumberedsubsubsec in Documentation/user/ancient.itely
#. @node in Documentation/es/user/ancient.itely
#. @unnumberedsubsubsec in Documentation/es/user/ancient.itely
msgid "Gregorian clefs"
-msgstr "Claves de canto Gregoriano"
+msgstr "Claves de canto gregoriano"
#. @node in Documentation/user/ancient.itely
#. @unnumberedsubsubsec in Documentation/user/ancient.itely
#. @node in Documentation/es/user/ancient.itely
#. @unnumberedsubsubsec in Documentation/es/user/ancient.itely
msgid "Gregorian accidentals and key signatures"
-msgstr "Alteraciones y armaduras de canto Gregoriano"
+msgstr "Alteraciones y armaduras de canto gregoriano"
# ? FVD
#. @node in Documentation/user/ancient.itely
#. @node in Documentation/es/user/ancient.itely
#. @unnumberedsubsubsec in Documentation/es/user/ancient.itely
msgid "Gregorian articulation signs"
-msgstr "Articulaciones del canto Gregoriano"
+msgstr "Articulaciones del canto gregoriano"
#. @node in Documentation/user/ancient.itely
#. @unnumberedsubsubsec in Documentation/user/ancient.itely
#. @node in Documentation/de/user/ancient.itely
#. @unnumberedsubsubsec in Documentation/de/user/ancient.itely
msgid "Transcribing Gregorian chant"
-msgstr "Transcripción de Canto Gregoriano"
+msgstr "Transcripción de canto gregoriano"
#. @node in Documentation/user/ancient.itely
#. @unnumberedsubsubsec in Documentation/user/ancient.itely
#. Documentation/user/spacing.itely:1759 (comment)
msgid "by setting outside-staff-priority to a non-number,"
-msgstr "ajustando el valor de outside-staff-priority a algo que no sea un número,"
+msgstr ""
+"ajustando el valor de outside-staff-priority a algo que no sea un número,"
#. Documentation/user/spacing.itely:1760 (comment)
msgid "we disable the automatic collision avoidance"
#. Documentation/user/changing-defaults.itely:3001 (comment)
#. Documentation/user/changing-defaults.itely:3017 (comment)
#. Documentation/user/changing-defaults.itely:3024 (comment)
-msgid "The RehearsalMark will be aligned with the left edge of the KeySignature"
+msgid ""
+"The RehearsalMark will be aligned with the left edge of the KeySignature"
msgstr "la RehearsalMark se alinea por la izquierda con la armadura"
#. Documentation/user/changing-defaults.itely:3006 (comment)
-msgid "The RehearsalMark will be aligned with the right edge of the KeySignature"
+msgid ""
+"The RehearsalMark will be aligned with the right edge of the KeySignature"
msgstr "la RehearsalMark se alinea por la derecha con la armadura"
#. Documentation/user/changing-defaults.itely:3018 (comment)
msgid "GNU LilyPond --- Utilisation des programmes"
msgstr ""
-#. @node in Documentation/fr/user/setup.itely
-#. @subsection in Documentation/fr/user/setup.itely
-msgid "MacOS X on the command-line"
-msgstr "MacOS X sobre línea de órdenes"
-
#. @section in Documentation/fr/user/running.itely
msgid "Updating with @command{convert-ly}"
msgstr "Actualizar ficheros con @command{convert-ly}"
#. input/lsr/aligning-marks-with-various-notation-objects.ly:65 (comment)
#. input/lsr/aligning-marks-with-various-notation-objects.ly:77 (comment)
-msgid "the RehearsalMark will be aligned with the left edge of the KeySignature"
+msgid ""
+"the RehearsalMark will be aligned with the left edge of the KeySignature"
msgstr "la RehearsalMark se alinea por la izquierda con la armadura"
#. input/lsr/aligning-marks-with-various-notation-objects.ly:71 (comment)
-msgid "the RehearsalMark will be aligned with the right edge of the KeySignature"
+msgid ""
+"the RehearsalMark will be aligned with the right edge of the KeySignature"
msgstr "la RehearsalMark se alinea por la derecha con la armadura"
#. input/lsr/aligning-marks-with-various-notation-objects.ly:78 (comment)
#. input/lsr/ancient-notation-template----modern-transcription-of-mensural-music.ly:77 (comment)
msgid "occur in the first bar after the incipit. Dto. for forceClef."
-msgstr "ocurrir en el primer compás después del incipit. Lo mismo para forceClef."
+msgstr ""
+"ocurrir en el primer compás después del incipit. Lo mismo para forceClef."
#. input/lsr/ancient-notation-template----modern-transcription-of-mensural-music.ly:78 (comment)
msgid "Therefore, we need an extra \\skip."
#. input/lsr/incipit.ly:274 (comment)
#. input/lsr/transcription-of-ancient-music-with-incipit.ly:280 (comment)
msgid "Comment in the below \\\"\\remove\\\" command to allow line"
-msgstr "Quite el comentario de la instrucción \\\"\\remove\\\" de abajo para permitir"
+msgstr ""
+"Quite el comentario de la instrucción \\\"\\remove\\\" de abajo para permitir"
#. input/lsr/ancient-notation-template----modern-transcription-of-mensural-music.ly:264 (comment)
#. input/lsr/transcription-of-ancient-music-with-incipit.ly:281 (comment)
#. input/lsr/incipit.ly:277 (comment)
#. input/lsr/transcription-of-ancient-music-with-incipit.ly:283 (comment)
msgid "short example score, but especially for large scores, you"
-msgstr "partitura corta de ejemplo, pero especialmente para partituras extensas,"
+msgstr ""
+"partitura corta de ejemplo, pero especialmente para partituras extensas,"
#. input/lsr/ancient-notation-template----modern-transcription-of-mensural-music.ly:267 (comment)
#. input/lsr/incipit.ly:278 (comment)
#. input/lsr/incipit.ly:279 (comment)
#. input/lsr/transcription-of-ancient-music-with-incipit.ly:285 (comment)
msgid "overall spacing if you comment in the following command."
-msgstr "el espaciado general si elimina el comentario de la instrucción siguiente."
+msgstr ""
+"el espaciado general si elimina el comentario de la instrucción siguiente."
#. input/lsr/ancient-notation-template----modern-transcription-of-mensural-music.ly:269 (comment)
#. input/lsr/incipit.ly:280 (comment)
#. input/lsr/book-parts.ly:32 (comment)
msgid "Part tagline header field only on each part last page."
-msgstr "Cebecera de lína de pie de la parte sólo en la última página de cada parte"
+msgstr ""
+"Cebecera de lína de pie de la parte sólo en la última página de cada parte"
#. input/lsr/book-parts.ly:36 (comment)
msgid "Tagline header field only on book last page."
#. input/lsr/breathing-signs.ly:26 (comment)
msgid "rvarcomma and lvarcomma are variations of the default rcomma and lcomma"
-msgstr "rvarcomma y lvarcomma son variantes de las rcomma y lcomma predeterminadas"
+msgstr ""
+"rvarcomma y lvarcomma son variantes de las rcomma y lcomma predeterminadas"
#. input/lsr/breathing-signs.ly:27 (comment)
msgid "N.B.: must use Staff context here, since we start a Voice below"
#. input/lsr/chord-name-exceptions.ly:31 (comment)
msgid "Convert music to list and prepend to existing exceptions."
-msgstr "Convertir la música en una lista y añadirla a las excepciones existentes."
+msgstr ""
+"Convertir la música en una lista y añadirla a las excepciones existentes."
#. input/lsr/chord-name-exceptions.ly:32 (variable)
msgid "chExceptions"
#. input/lsr/clip-systems.ly:59 (comment)
msgid "means NUM/DEN whole-notes into bar numbered BAR-NUMBER"
-msgstr "significa NUMERADOR/DENOMINADOR redondas en el compás número NUM-COMPAS"
+msgstr ""
+"significa NUMERADOR/DENOMINADOR redondas en el compás número NUM-COMPAS"
#. input/lsr/coloring-notes-depending-on-their-pitch.ly:13 (comment)
msgid "Association list of pitches to colors."
#. input/lsr/defining-predefined-fretboards-for-other-instruments.ly:69 (comment)
msgid "end of potential include file /predefined-cuatro-fretboards.ly"
-msgstr "fin del potencial archivo de inclusión /posiciones-predefinidas-del-cuatro.ly"
+msgstr ""
+"fin del potencial archivo de inclusión /posiciones-predefinidas-del-cuatro.ly"
#. input/lsr/defining-predefined-fretboards-for-other-instruments.ly:74 (variable)
msgid "primerosNames"
#. input/lsr/fret-diagrams-explained-and-developed.ly:37 (comment)
msgid "A chord for ukelele, with formatting defined in definition string"
-msgstr "Acorde para el ukelele, con el formato definido en la cadena de definición"
+msgstr ""
+"Acorde para el ukelele, con el formato definido en la cadena de definición"
#. input/lsr/fret-diagrams-explained-and-developed.ly:38 (comment)
msgid "1.2 * size, 4 strings, 4 frets, fingerings below string"
"alignment lo ponga en la posición correcta"
#. input/lsr/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:63 (comment)
-msgid "Drawback: the padding really reserves the space, nothing else can be there"
+msgid ""
+"Drawback: the padding really reserves the space, nothing else can be there"
msgstr ""
"Inconveniente: el relleno reserva el espacio realmente, no puede haber nada "
"más aquí"
"podría dar lugar a colisiones"
#. input/lsr/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:74 (comment)
-msgid "Drawback: Also, there seems to be some spacing, so it's not exactly the "
+msgid ""
+"Drawback: Also, there seems to be some spacing, so it's not exactly the "
msgstr ""
"Inconveniente: asimismo, parece haber algo de espacio, por lo que no es "
"exactamente"
#. input/lsr/positioning-multi--measure-rests.ly:50 (comment)
msgid "Multi-measure rests in odd-numbered voices are under the top line"
-msgstr "Los silencios multicompás de las voces impares están bajo la línea superior"
+msgstr ""
+"Los silencios multicompás de las voces impares están bajo la línea superior"
#. input/lsr/positioning-multi--measure-rests.ly:52 (comment)
msgid "Multi-measure rests in even-numbered voices are under the bottom line"
-msgstr "Los silencios multicompás de las voces pares están bajo la línea inferior"
+msgstr ""
+"Los silencios multicompás de las voces pares están bajo la línea inferior"
#. input/lsr/positioning-multi--measure-rests.ly:54 (comment)
msgid "They remain separated even in empty measures"
#. input/lsr/positioning-segno-and-coda-with-line-break.ly:35 (comment)
msgid "Set coda sign as rehearsal mark and adjust size if needed"
-msgstr "Fijar llamada de coda como letra de ensayo y ajustar tamaño si es necesario"
+msgstr ""
+"Fijar llamada de coda como letra de ensayo y ajustar tamaño si es necesario"
#. input/lsr/positioning-segno-and-coda-with-line-break.ly:42 (comment)
msgid "Should Coda be on anew line?"
msgid ""
"\\cadenzaOn will suppress the bar count and \\stopStaff removes the staff "
"lines."
-msgstr "\\cadenzaOn suprime la cuenta de compases y \\stopStaff quita el pentagrama"
+msgstr ""
+"\\cadenzaOn suprime la cuenta de compases y \\stopStaff quita el pentagrama"
#. input/lsr/positioning-segno-and-coda-with-line-break.ly:58 (comment)
msgid "Some examples of possible text-displays "
#. input/lsr/positioning-segno-and-coda-with-line-break.ly:99 (comment)
msgid "Set coda sign as rehearsal mark and adjust size and position"
-msgstr "Fijar el signo de coda como letra de enzayo y ajustar el tamaño y posición"
+msgstr ""
+"Fijar el signo de coda como letra de enzayo y ajustar el tamaño y posición"
#. input/lsr/positioning-segno-and-coda-with-line-break.ly:101 (comment)
msgid ""
#. input/lsr/removing-the-first-empty-line.ly:53 (comment)
msgid "To use the setting globally, comment this line,"
-msgstr "Para usar el ajuste globalmente, haga un comentario de la línea siguiente:"
+msgstr ""
+"Para usar el ajuste globalmente, haga un comentario de la línea siguiente:"
#. input/lsr/removing-the-first-empty-line.ly:54 (comment)
msgid "uncomment the line in the \\layout block above"
"se simula con una línea de rejilla"
#. input/lsr/score-for-diatonic-accordion.ly:83 (comment)
-msgid "disable the following line to see the the noteheads while writing the song "
+msgid ""
+"disable the following line to see the the noteheads while writing the song "
msgstr ""
"Deshabilite la línea siguiente para ver las cabezas mientras escribe la "
"canción"
msgstr "Cuán rápido escribir las líneas de cerrar:"
#. input/lsr/score-for-diatonic-accordion.ly:89 (comment)
-msgid "1. write repeatedly 'c c c c c c c c |' for the whole length of the song "
+msgid ""
+"1. write repeatedly 'c c c c c c c c |' for the whole length of the song "
msgstr "1. escribir repetidamente 'c c c c c c c c |' en toda la canción"
#. input/lsr/score-for-diatonic-accordion.ly:90 (comment)
msgstr "4. Marcar las posiciones en las que cambia el abrir o cerrar"
#. input/lsr/score-for-diatonic-accordion.ly:93 (comment)
-msgid "In the score-picture click on the position the push- or pull-part starts "
+msgid ""
+"In the score-picture click on the position the push- or pull-part starts "
msgstr ""
"En la imagen de la partitura pulse sobre la posición en que inician las "
"partes de abrir o cerrar"
#. input/lsr/score-for-diatonic-accordion.ly:97 (comment)
msgid "b) If a pull-part starts there, replace the 'c' by an 's'"
-msgstr "b) Si en ese lugar empieza una parte de abrir, cambie la 'c' por una 's'"
+msgstr ""
+"b) Si en ese lugar empieza una parte de abrir, cambie la 'c' por una 's'"
#. input/lsr/score-for-diatonic-accordion.ly:98 (comment)
msgid "5. Switch into 'overwrite-mode' by pressing the 'ins' key. "
msgstr "duracionesPentagramaBajo"
#. input/lsr/score-for-diatonic-accordion.ly:200 (comment)
-msgid "This is not a RhythmicStaff because it must be possible to append lyrics."
+msgid ""
+"This is not a RhythmicStaff because it must be possible to append lyrics."
msgstr "Esto no es un RhythmicStaff porque se debe poder aplicar letra."
#. input/lsr/score-for-diatonic-accordion.ly:202 (comment)
#. input/lsr/string-quartet-template-with-separate-parts.ly:122 (comment)
msgid "{ Uncomment this block when using separate files"
-msgstr "{ Quite la marca de comentario de este bloque si está usando archivos aparte"
+msgstr ""
+"{ Quite la marca de comentario de este bloque si está usando archivos aparte"
#. input/lsr/string-quartet-template-with-separate-parts.ly:124 (comment)
msgid "vn1.ly"
msgstr ""
#. input/lsr/transcription-of-ancient-music-with-incipit.ly:226 (comment)
-msgid "StaffGroup is used instead of ChoirStaff to get bar lines between systems"
+msgid ""
+"StaffGroup is used instead of ChoirStaff to get bar lines between systems"
msgstr ""
"StaffGroup se usa en lugar de ChoirStaff para tener líneas divisorias entre "
"los sistemas"
#. input/lsr/using-beatlength-and-beatgrouping.ly:47 (comment)
msgid "The 3/4 time default grouping of (1 1 1) and beatLength of 1/8"
-msgstr "El agrupamiento predeterminado de (1 1 1) y beatLength de 1/8 del compás 3/4"
+msgstr ""
+"El agrupamiento predeterminado de (1 1 1) y beatLength de 1/8 del compás 3/4"
#. input/lsr/using-beatlength-and-beatgrouping.ly:48 (comment)
msgid "are not consistent with a measureLength of 3/4, so the beams"
msgid "Table of Contents"
msgstr "Índice general"
+#~ msgid "MacOS X on the command-line"
+#~ msgstr "MacOS X sobre línea de órdenes"
msgstr ""
"Project-Id-Version: fr\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-12-20 13:08+0100\n"
+"POT-Creation-Date: 2008-12-25 12:33+0100\n"
"PO-Revision-Date: 2008-11-09 13:14+0100\n"
"Last-Translator: Jean-Charles Malahieude <lolyfan-AT-wanadoo-DOT-fr>\n"
"Language-Team: Français <lilypond-user-fr@gnu.org>\n"
#. @node in Documentation/user/setup.itely
#. @subsection in Documentation/user/setup.itely
+#. @node in Documentation/fr/user/setup.itely
+#. @subsection in Documentation/fr/user/setup.itely
#. @node in Documentation/es/user/setup.itely
#. @subsection in Documentation/es/user/setup.itely
#. @node in Documentation/de/user/setup.itely
msgstr "Spécificités pour MacOS X"
#. @subsubheading in Documentation/user/setup.itely
+#. @subsubheading in Documentation/fr/user/setup.itely
#. @subsubheading in Documentation/es/user/setup.itely
#. @subsubheading in Documentation/de/user/setup.itely
msgid "Using Python scripts on MacOS 10.3 or 10.4"
msgstr "Utilisation de scripts Python sur MacOS 10.3 ou 10.4"
#. @subsubheading in Documentation/user/setup.itely
+#. @subsubheading in Documentation/fr/user/setup.itely
#. @subsubheading in Documentation/es/user/setup.itely
#. @subsubheading in Documentation/de/user/setup.itely
msgid "MacOS X on the command line"
#. Documentation/user/fretted-strings.itely:834 (variable)
#. Documentation/user/fretted-strings.itely:865 (variable)
#. Documentation/user/fretted-strings.itely:889 (variable)
-#. Documentation/user/fretted-strings.itely:935 (variable)
+#. Documentation/user/fretted-strings.itely:937 (variable)
msgid "mychords"
msgstr "mesaccords"
msgid "mychordlist"
msgstr "malistedaccords"
-#. Documentation/user/fretted-strings.itely:922 (comment)
+#. Documentation/user/fretted-strings.itely:924 (comment)
msgid "add a new chord shape"
msgstr "ajout d'un nouveau canevas d'accord"
-#. Documentation/user/fretted-strings.itely:926 (comment)
+#. Documentation/user/fretted-strings.itely:928 (comment)
msgid "add some new chords based on the power chord shape"
msgstr "ajout de nouveaux accords basés sur le nouveau canevas"
msgid "Bagpipe example"
msgstr "Exemple pour la cornemuse"
-#. Documentation/user/chords.itely:663 (variable)
+#. Documentation/user/chords.itely:669 (variable)
msgid "myChords"
msgstr "mesAccords"
-#. Documentation/user/chords.itely:993 (comment)
-#. Documentation/user/chords.itely:1014 (comment)
+#. Documentation/user/chords.itely:999 (comment)
+#. Documentation/user/chords.itely:1020 (comment)
msgid "Put notes on same Staff as figures"
msgstr "Assemblage des notes et de la basse chiffrée sur une même portée"
-#. Documentation/user/chords.itely:1077 (comment)
+#. Documentation/user/chords.itely:1083 (comment)
msgid "The extenders are correct here, with the same rhythm as the bass"
msgstr ""
"Les prolongateurs sont corrects, ils suivent bien le rythme de la basse"
-#. Documentation/user/chords.itely:1089 (comment)
+#. Documentation/user/chords.itely:1095 (comment)
msgid "The extenders are incorrect here, even though the timing is the same"
msgstr "Les prolongateurs sont erronés, bien que le rythme soit le même"
msgid "third finger"
msgstr "troisième doigt"
-#. Documentation/user/changing-defaults.itely:2945 (comment)
+#. Documentation/user/changing-defaults.itely:2948 (comment)
+#. Documentation/user/changing-defaults.itely:2980 (comment)
#. input/lsr/aligning-marks-with-various-notation-objects.ly:39 (comment)
msgid "the RehearsalMark will be centered above the Clef"
msgstr "Pour centrer le repère au-dessus de la clef"
-#. Documentation/user/changing-defaults.itely:2951 (comment)
+#. Documentation/user/changing-defaults.itely:2954 (comment)
#. input/lsr/aligning-marks-with-various-notation-objects.ly:46 (comment)
msgid "the RehearsalMark will be centered above the TimeSignature"
msgstr "Pour centrer le repère au-dessus de la métrique"
-#. Documentation/user/changing-defaults.itely:2965 (comment)
+#. Documentation/user/changing-defaults.itely:2974 (comment)
+#, fuzzy
+msgid "the RehearsalMark will be centered above the Key Signature"
+msgstr "Pour centrer le repère au-dessus de l'armure"
+
+#. Documentation/user/changing-defaults.itely:2994 (comment)
msgid "The RehearsalMark will be centered above the KeySignature"
msgstr "Pour centrer le repère au-dessus de l'armure"
-#. Documentation/user/changing-defaults.itely:2972 (comment)
-#. Documentation/user/changing-defaults.itely:2988 (comment)
-#. Documentation/user/changing-defaults.itely:2995 (comment)
+#. Documentation/user/changing-defaults.itely:3001 (comment)
+#. Documentation/user/changing-defaults.itely:3017 (comment)
+#. Documentation/user/changing-defaults.itely:3024 (comment)
msgid ""
"The RehearsalMark will be aligned with the left edge of the KeySignature"
msgstr "Pour aligner le repère sur le coin gauche de l'armure"
-#. Documentation/user/changing-defaults.itely:2977 (comment)
+#. Documentation/user/changing-defaults.itely:3006 (comment)
msgid ""
"The RehearsalMark will be aligned with the right edge of the KeySignature"
msgstr "Pour aligner le repère sur le coin droit de l'armure"
-#. Documentation/user/changing-defaults.itely:2989 (comment)
+#. Documentation/user/changing-defaults.itely:3018 (comment)
msgid "and then shifted right by 3.5 staff-spaces"
msgstr "puis décaler vers la droite de 3,5 espaces"
-#. Documentation/user/changing-defaults.itely:2996 (comment)
+#. Documentation/user/changing-defaults.itely:3025 (comment)
msgid "and then shifted left by 2 staff-spaces"
msgstr "puis décaler vers la gauche de 2 espaces"
-#. Documentation/user/changing-defaults.itely:3045 (variable)
+#. Documentation/user/changing-defaults.itely:3073 (variable)
msgid "XinO"
msgstr "XdansO"
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @node in Documentation/es/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
-msgid "Using the @code{break-aligned-interface}"
+#, fuzzy
+msgid "Using the @code{break-alignable-interface}"
msgstr "Utilisation de @code{break-aligned-interface}"
#. @node in Documentation/user/changing-defaults.itely
msgid "GNU LilyPond --- Utilisation des programmes"
msgstr "GNU LilyPond --- Utilisation du programme"
-#. @node in Documentation/fr/user/setup.itely
-#. @subsection in Documentation/fr/user/setup.itely
-msgid "MacOS X on the command-line"
-msgstr "MacOS X et la ligne de commande"
-
#. @section in Documentation/fr/user/running.itely
msgid "Updating with @command{convert-ly}"
msgstr "Mise à jour avec @command{convert-ly}"
msgid "Ignorieren von Melismen"
msgstr "Désactivation du traitement des mélismes"
+#. @node in Documentation/de/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
+msgid "Using the @code{break-aligned-interface}"
+msgstr "Utilisation de @code{break-aligned-interface}"
+
#. input/lsr/accordion-discant-symbols.ly:34 (variable)
#, fuzzy
msgid "discant"
msgid "Table of Contents"
msgstr "Table des matières"
+#~ msgid "MacOS X on the command-line"
+#~ msgstr "MacOS X et la ligne de commande"
+
#, fuzzy
#~ msgid "Harp notation"
#~ msgstr "Notation sur la portée"
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-12-20 13:08+0100\n"
+"POT-Creation-Date: 2008-12-25 12:33+0100\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"
#. @node in Documentation/user/setup.itely
#. @subsection in Documentation/user/setup.itely
+#. @node in Documentation/fr/user/setup.itely
+#. @subsection in Documentation/fr/user/setup.itely
#. @node in Documentation/es/user/setup.itely
#. @subsection in Documentation/es/user/setup.itely
#. @node in Documentation/de/user/setup.itely
msgstr ""
#. @subsubheading in Documentation/user/setup.itely
+#. @subsubheading in Documentation/fr/user/setup.itely
#. @subsubheading in Documentation/es/user/setup.itely
#. @subsubheading in Documentation/de/user/setup.itely
msgid "Using Python scripts on MacOS 10.3 or 10.4"
msgstr ""
#. @subsubheading in Documentation/user/setup.itely
+#. @subsubheading in Documentation/fr/user/setup.itely
#. @subsubheading in Documentation/es/user/setup.itely
#. @subsubheading in Documentation/de/user/setup.itely
msgid "MacOS X on the command line"
#. Documentation/user/fretted-strings.itely:834 (variable)
#. Documentation/user/fretted-strings.itely:865 (variable)
#. Documentation/user/fretted-strings.itely:889 (variable)
-#. Documentation/user/fretted-strings.itely:935 (variable)
+#. Documentation/user/fretted-strings.itely:937 (variable)
msgid "mychords"
msgstr ""
msgid "mychordlist"
msgstr ""
-#. Documentation/user/fretted-strings.itely:922 (comment)
+#. Documentation/user/fretted-strings.itely:924 (comment)
msgid "add a new chord shape"
msgstr ""
-#. Documentation/user/fretted-strings.itely:926 (comment)
+#. Documentation/user/fretted-strings.itely:928 (comment)
msgid "add some new chords based on the power chord shape"
msgstr ""
msgid "Bagpipe example"
msgstr ""
-#. Documentation/user/chords.itely:663 (variable)
+#. Documentation/user/chords.itely:669 (variable)
msgid "myChords"
msgstr ""
-#. Documentation/user/chords.itely:993 (comment)
-#. Documentation/user/chords.itely:1014 (comment)
+#. Documentation/user/chords.itely:999 (comment)
+#. Documentation/user/chords.itely:1020 (comment)
msgid "Put notes on same Staff as figures"
msgstr ""
-#. Documentation/user/chords.itely:1077 (comment)
+#. Documentation/user/chords.itely:1083 (comment)
msgid "The extenders are correct here, with the same rhythm as the bass"
msgstr ""
-#. Documentation/user/chords.itely:1089 (comment)
+#. Documentation/user/chords.itely:1095 (comment)
msgid "The extenders are incorrect here, even though the timing is the same"
msgstr ""
msgid "third finger"
msgstr ""
-#. Documentation/user/changing-defaults.itely:2945 (comment)
+#. Documentation/user/changing-defaults.itely:2948 (comment)
+#. Documentation/user/changing-defaults.itely:2980 (comment)
#. input/lsr/aligning-marks-with-various-notation-objects.ly:39 (comment)
msgid "the RehearsalMark will be centered above the Clef"
msgstr ""
-#. Documentation/user/changing-defaults.itely:2951 (comment)
+#. Documentation/user/changing-defaults.itely:2954 (comment)
#. input/lsr/aligning-marks-with-various-notation-objects.ly:46 (comment)
msgid "the RehearsalMark will be centered above the TimeSignature"
msgstr ""
-#. Documentation/user/changing-defaults.itely:2965 (comment)
+#. Documentation/user/changing-defaults.itely:2974 (comment)
+msgid "the RehearsalMark will be centered above the Key Signature"
+msgstr ""
+
+#. Documentation/user/changing-defaults.itely:2994 (comment)
msgid "The RehearsalMark will be centered above the KeySignature"
msgstr ""
-#. Documentation/user/changing-defaults.itely:2972 (comment)
-#. Documentation/user/changing-defaults.itely:2988 (comment)
-#. Documentation/user/changing-defaults.itely:2995 (comment)
+#. Documentation/user/changing-defaults.itely:3001 (comment)
+#. Documentation/user/changing-defaults.itely:3017 (comment)
+#. Documentation/user/changing-defaults.itely:3024 (comment)
msgid ""
"The RehearsalMark will be aligned with the left edge of the KeySignature"
msgstr ""
-#. Documentation/user/changing-defaults.itely:2977 (comment)
+#. Documentation/user/changing-defaults.itely:3006 (comment)
msgid ""
"The RehearsalMark will be aligned with the right edge of the KeySignature"
msgstr ""
-#. Documentation/user/changing-defaults.itely:2989 (comment)
+#. Documentation/user/changing-defaults.itely:3018 (comment)
msgid "and then shifted right by 3.5 staff-spaces"
msgstr ""
-#. Documentation/user/changing-defaults.itely:2996 (comment)
+#. Documentation/user/changing-defaults.itely:3025 (comment)
msgid "and then shifted left by 2 staff-spaces"
msgstr ""
-#. Documentation/user/changing-defaults.itely:3045 (variable)
+#. Documentation/user/changing-defaults.itely:3073 (variable)
msgid "XinO"
msgstr ""
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @node in Documentation/es/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
-msgid "Using the @code{break-aligned-interface}"
+msgid "Using the @code{break-alignable-interface}"
msgstr ""
#. @node in Documentation/user/changing-defaults.itely
msgid "GNU LilyPond --- Utilisation des programmes"
msgstr ""
-#. @node in Documentation/fr/user/setup.itely
-#. @subsection in Documentation/fr/user/setup.itely
-msgid "MacOS X on the command-line"
-msgstr ""
-
#. @section in Documentation/fr/user/running.itely
msgid "Updating with @command{convert-ly}"
msgstr ""
msgid "Ignorieren von Melismen"
msgstr ""
+#. @node in Documentation/de/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
+msgid "Using the @code{break-aligned-interface}"
+msgstr ""
+
#. input/lsr/accordion-discant-symbols.ly:34 (variable)
msgid "discant"
msgstr ""
@end ignore
+@item
+Unbeamed 128th notes are now supported:
+@lilypond
+\relative c'' {
+ g128
+}
+@end lilypond
+
@item
Straight flags (used in old scores of e.g. Bach, but also in different form in
modern scores of e.g. Stockhausen) are now implemented:
is finished.
</p>
- <p><i>Last updated Sun Dec 21 09:36:02 UTC 2008
+ <p><i>Last updated Sun Dec 28 01:18:10 UTC 2008
</i></p>
<table align="center" border="2">
<tr align="center">
</tr>
<tr align="left">
<td>2 Setup<br>(1149)</td>
- <td> <span style="background-color: #d0f0f8">not translated</span><br>
+ <td>Jean-Charles Malahieude<br>
+ <span style="background-color: #1fff1f">translated</span><br>
+ <span style="background-color: #d587ff"></span><br>
</td>
<td>Till Rettig<br>
Reinhold Kainhofer<br>
<td>5 Converting from other formats<br>(1171)</td>
<td>Jean-Charles Malahieude<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #acff31">partially up to date</span><br>
+ <span style="background-color: #d587ff"></span><br>
</td>
<td>Reinhold Kainhofer<br>
<small>Till Rettig</small><br>
</td>
<td>Till Rettig<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #25fe1f">partially up to date</span><br>
+ <span style="background-color: #1fff1f">up to date</span><br>
</td>
<td>Francisco Vila<br>
<span style="background-color: #1fff1f">translated</span><br>
</td>
</tr>
<tr align="left">
- <td>2.4 Fretted string instruments<br>(1830)</td>
+ <td>2.4 Fretted string instruments<br>(1850)</td>
<td>Valentin Villenave<br>
<small>Jean-Charles Malahieude<br>
John Mandereau</small><br>
</td>
<td>Till Rettig<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #25fe1f">partially up to date</span><br>
+ <span style="background-color: #1fff1f">up to date</span><br>
</td>
<td>Francisco Vila<br>
<span style="background-color: #1fff1f">translated</span><br>
</td>
</tr>
<tr align="left">
- <td>2.7 Chord notation<br>(1398)</td>
+ <td>2.7 Chord notation<br>(1464)</td>
<td>Valentin Villenave<br>
<small>Jean-Charles Malahieude<br>
John Mandereau</small><br>
</td>
</tr>
<tr align="left">
- <td>2.8 Ancient notation<br>(4486)</td>
+ <td>2.8 Ancient notation<br>(4487)</td>
<td>John Mandereau<br>
Jean-Charles Malahieude<br>
<span style="background-color: #dfef77">partially translated (79 %)</span><br>
<span style="background-color: #ff8353">partially up to date</span><br>
</td>
<td>Till Rettig<br>
- <span style="background-color: #dfef77">partially translated (5 %)</span><br>
+ <span style="background-color: #1fff1f">translated</span><br>
<span style="background-color: #1fff1f">up to date</span><br>
</td>
<td>Francisco Vila<br>
<td>5 Changing defaults<br>(11391)</td>
<td>Valentin Villenave<br>
<small>Gilles Thibault</small><br>
- <span style="background-color: #dfef77">partially translated (33 %)</span><br>
+ <span style="background-color: #dfef77">partially translated (42 %)</span><br>
<span style="background-color: #ff954f">partially up to date</span><br>
</td>
<td> <span style="background-color: #d0f0f8">not translated</span><br>
</tr>
<tr align="left">
<td>6 Interfaces for programmers<br>(5202)</td>
- <td> <span style="background-color: #d0f0f8">not translated</span><br>
+ <td>Valentin Villenave<br>
+ <small>Gilles Thibault</small><br>
+ <span style="background-color: #dfef77">partially translated (9 %)</span><br>
+ <span style="background-color: #76fe2a">partially up to date</span><br>
</td>
<td> <span style="background-color: #d0f0f8">not translated</span><br>
</td>
</td>
<td>Till Rettig<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #25fe1f">partially up to date</span><br>
+ <span style="background-color: #1fff1f">up to date</span><br>
</td>
<td>Francisco Vila<br>
<span style="background-color: #1fff1f">translated</span><br>
neo-mensural style. Instead, the rests from the default style will be
taken.
-See @rlsr{Pitches,rests} for a chart of all rests.
+See @rlsr{Ancient notation} for a chart of all rests.
@seealso
Notation Reference: @ref{Rests}, gives a general introduction into the use of
@funindex m
The table belows shows the actions of the quality modifiers on
-triads and seventh chords. A more complete table of modifier usage
+triads and seventh chords. The default seventh step added to
+chords is a minor or flatted seventh, which makes the dominant
+seventh the basic seventh chord. All alterations are relative to
+the dominant seventh. A more complete table of modifier usage
is found at @ref{Common chord modifiers}.
@c @table @code
@item
m, m7
@tab
-The minor chord. This modifier lowers the 3rd and (if present) the
-7th step.
+The minor chord. This modifier lowers the 3rd.
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
The first number following the @code{:} is taken to be the extent
of the chord. The chord is constructed by sequentially adding
thirds to the root until the specified number has been reached.
+Note that the seventh step added as part of an extended chord will be the
+minor or flatted seventh, not the major seventh.
If the extent is not a third (e.g., 6), thirds are added up to the
highest third below the extent, and then the step of the extent is
added. The largest possible value for the extent is 13. Any
@cindex additions, in chords
Individual steps can be added to a chord. Additions follow the
-extent and are prefixed by a dot (@code{.}).
+extent and are prefixed by a dot (@code{.}). The basic seventh
+step added to a chord is the minor or flatted seventh, rather than
+the major seventh.
@lilypond[quote,verbatim,fragment,relative=1]
\chordmode {
shapes. The chord shapes are fret diagrams that can be shifted along
the neck to different posistions to provide different chords. Chord
shapes can be added to the internal list and then used to define
-predefined fret diagrams. Like fret diagrams, chord shapes can be
+predefined fret diagrams. Because they can be moved to various
+positions on the neck, chord shapes will normally not contain
+any open strings. Like fret diagrams, chord shapes can be
entered as either fret-diagram-terse strings or fret-diagram-verbose
marking lists.
@seealso
Notation Reference:
-@ruser{Tremolo repeats}
-@ruser{Glissando}
-@ruser{Arpeggio}
-@ruser{Harmonics}
+@ref{Tremolo repeats}
+@ref{Glissando}
+@ref{Arpeggio}
+@ref{Harmonics}
@node Harp pedals
@unnumberedsubsubsec Harp pedals
@seealso
Notation Reference:
-@ruser{Text scripts}
-@ruser{Instrument Specific Markup}
+@ref{Text scripts}
+@ref{Instrument Specific Markup}
and a half note is entered using a @code{2} (since it is a 1/2
note). For notes longer than a whole you must use the
@code{\longa} (a double breve) and @code{\breve} commands.
-Durations as short as 64th notes may be specified. Shorter values
+Durations as short as 128th notes may be specified. Shorter values
are possible, but only as beamed notes.
@c Two 64th notes are needed to obtain beams
controlled by three context properties:
@code{measureLength}, @code{beatLength} and @code{beatGrouping}.
These properties may be set in the @code{Score}, @code{Staff} or
-@code{Voice} contexts to delimit their scope.
+@code{Voice} contexts to delimit their scope. The default values
+are set while processing @code{\time} commands, so the @code{\set}
+commands must be placed after all @code{\time} commands.
These determine the beaming as follows:
Kurt Kroon - Glossary Updates, NR work
Alard de Boer - Formatting
Michael Rasmussen - Formatting
-Trevor Baca - Inspirational Headwords
+Trevor Bača - Inspirational Headwords
Reinhold Kainhofer - Technical Aid
Neil Puttock - Snippet Editor, Technical Aid
PACKAGE_NAME=LilyPond
MAJOR_VERSION=2
MINOR_VERSION=12
-PATCH_LEVEL=0
+PATCH_LEVEL=1
MY_PATCH_LEVEL=
tree_roots = doc_dirs,
process_dirs = outdir,
exclude_dirs = '(^|/)(' + r'|po|out|out-test|.*?[.]t2d|\w*?-root)(/|$)|Documentation/(' + '|'.join ([l.code for l in langdefs.LANGUAGES]) + ')',
- find_files = r'.*?\.(?:midi|html|pdf|png|txt|i?ly|signature|css)$|VERSION',
+ find_files = r'.*?\.(?:midi|html|pdf|png|txt|i?ly|signature|css|zip|xml|mxl)$|VERSION',
exclude_files = r'lily-[0-9a-f]+.*\.(pdf|txt)')
# actual mirrorring stuff
}
void *
- lily_fopencookie (void *cookie, char const *modes,
- lily_cookie_io_functions_t io_funcs)
+ lily_fopencookie (void *cookie,
+ char const * /* modes */,
+ lily_cookie_io_functions_t /* io_funcs */)
{
- (void) cookie;
- (void) modes;
- (void) io_funcs;
assert (is_memory_stream (cookie));
return (FILE *) cookie;
}
}
ssize_t
-Memory_out_stream::reader (void *cookie,
- char *buffer,
- size_t size)
+Memory_out_stream::reader (void * /* cookie */,
+ char * /* buffer */,
+ size_t /* size */)
{
- (void) cookie;
- (void) buffer;
- (void) size;
-
assert (false);
return 0;
}
int
-Memory_out_stream::seeker (void *, off64_t *, int whence)
+Memory_out_stream::seeker (void *,
+ off64_t *,
+ int)
{
- (void) whence;
-
assert (false);
return 0;
}
I = \once \override NoteColumn #'ignore-collision = ##t
-\version "2.11.61"
+\version "2.12.0"
staffPiano = \new PianoStaff {
\set Score.timing = ##f
-\version "2.11.61"
+\version "2.12.0"
\layout {
indent = #0
% Copyright 2006 for the entire score;
% All rights reserved by the composer.
-\version "2.11.65"
+\version "2.12.0"
\include "english.ly"
\include "cary-layout.ly"
%}
%% Optional version number
-\version "2.11.61"
+\version "2.12.0"
%}
%% Optional version number
-\version "2.11.61"
+\version "2.12.0"
%}
%% Optional version number
-\version "2.11.61"
+\version "2.12.0"
-\version "2.11.61"
+\version "2.12.0"
\header {
composer = "ARTHUR GRAY"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "keyboards"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "chords, ancient-notation, contexts-and-engravers"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "pitches, staff-notation, vocal-music"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "staff-notation, contexts-and-engravers, breaks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "staff-notation, contexts-and-engravers"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "chords"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms, expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms, percussion"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "editorial-annotations, fretted-strings"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "fretted-strings"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "titles"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "repeats"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "simultaneous-notes"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "text, vocal-music, spacing"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "editorial-annotations, fretted-strings, spacing"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "pitches, vocal-music"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "pitches, vocal-music"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "editorial-annotations, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "ancient-notation"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "ancient-notation, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "ancient-notation, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "ancient-notation"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "pitches, editorial-annotations"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms, editorial-annotations, chords, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "editorial-annotations, text"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.65"
+\version "2.12.0"
\header {
lsrtags = "paper-and-layout"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks, unfretted-strings"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "simultaneous-notes, editorial-annotations, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "chords"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
doctitlees = "Cambiar la forma de los silencios multicompás"
texidoces = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "contexts-and-engravers, midi"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "simultaneous-notes"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "vocal-music"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
Se puede modificar el texto empleado para los crescendos y
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks, editorial-annotations"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "chords"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "text, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "staff-notation"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "chords"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "staff-notation, tweaks-and-overrides, paper-and-layout"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
La propiedad @code{measureLength}, junto con
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms, vocal-music, ancient-notation, contexts-and-engravers"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "chords"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "chords"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "paper-and-layout" % a new tag like "Mixing text and music" or
% "Special output" might be more adequate -jm
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "simultaneous-notes, chords, keyboards"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "pitches,editorial-annotations,really-cool"
texidoc = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks, text"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "simultaneous-notes, text"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
doctitlees = "Indicaciones de compases compuestos"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "editorial-annotations, chords, keyboards, fretted-strings"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "pitches"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "staff-notation, editorial-annotations, contexts-and-engravers, paper-and-layout"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks, text"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
A diferencia de las inscripciones de texto, las lestras de ensayo
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks, keyboards, unfretted-strings"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.65"
+\version "2.12.0"
\header {
texidoces = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "ancient-notation, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.65"
+\version "2.12.0"
\header {
texidoces = "
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.65"
+\version "2.12.0"
\header {
texidoces = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "editorial-annotations"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.65"
+\version "2.12.0"
\header {
texidoces = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "midi"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "text, paper-and-layout, titles"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
Si hay un solo pentagrama en un de los tipos de sistema
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "simultaneous-notes, chords"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
doctitlees = "Alteraciones de estilo dodecafónico para todas las notas, incluidas las naturales"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "unfretted-strings,tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks, simultaneous-notes"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "tweaks-and-overrides"
texidoc = "
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "tweaks-and-overrides"
texidoc = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "editorial-annotations, text"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "contexts-and-engravers"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "fretted-strings"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "keyboards, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "fretted-strings"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "fretted-strings"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "winds"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "simultaneous-notes, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "text, vocal-music"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "fretted-strings,tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "pitches"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "editorial-annotations"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "editorial-annotations"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms, percussion"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "fretted-strings, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "text, vocal-music"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
Los «incipit» se pueden escribir utilizando el grob del nombre del
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "keyboards"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
Las marcas de cesura se pueden crear sobreescribiendo la propiedad
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "staff-notation"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "repeats"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "keyboards, percussion, fretted-strings, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks, keyboards, fretted-strings"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "staff-notation,fretted-strings"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.65"
+\version "2.12.0"
\header {
texidoces = "
Se pueden aplicar puntas de flecha a los elementos de extensión de
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "text, vocal-music"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
El «Makam» es un tipo de melodía de Turquía que
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms,tweaks-and-overrides"
texidoc = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "staff-notation, editorial-annotations"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "chords"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "editorial-annotations, vocal-music"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "text"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "repeats, staff-notation, editorial-annotations"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "staff-notation, ancient-notation, contexts-and-engravers, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "staff-notation, fretted-strings"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "staff-notation, contexts-and-engravers, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "pitches, staff-notation"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "pitches, text"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "text"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "spacing"
texidoc = "Page labels may be placed inside music or at top-level,
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
Se pueden mostrar los contadores de las repeticiones del tipo
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "repeats"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "percussion"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "keyboards, template"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "text, keyboards, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "vocal-music, keyboards, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "fretted-strings"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "fretted-strings"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
doctitlees = "Posicionar los silencios multicompás"
texidoces = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "repeats, breaks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "pitches"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "pitches"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "repeats, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "text"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "text"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms, expressive-marks, staff-notation, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms, percussion"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "tweaks-and-overrides, spacing"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
Los pasajes citados tienen en cuenta la transposición de la fuente
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
La propiedad @code{quotedEventTypes} determina los tipos de
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "staff-notation, tweaks-and-overrides, breaks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms, ancient-notation, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "template"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
Si la nota que da fin a un regulador cae sobre la primera parte de
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "repeats"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "chords"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "chords"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "vocal-music, chords, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "vocal-music, chords, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "chords, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "vocal-music, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms, vocal-music"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms, vocal-music"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks, unfretted-strings"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "text"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "fretted-strings"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "unfretted-strings, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "unfretted-strings, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "simultaneous-notes,tweaks-and-overrides"
texidoc = "
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "paper-and-layout"
texidoc = "A table of contents is included using
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms, text"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.65"
+\version "2.12.0"
\header {
lsrtags = "staff-notation"
texidoc = "
} % begin verbatim
\relative c' {
- c4 d e f \bar "'"
- g4 f e d \bar "'"
- c4 d e f \bar "'"
+ \set Score.defaultBarType = #"'"
+ c4 d e f
+ g4 f e d
+ c4 d e f
g4 f e d
\bar "|."
}
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "staff-notation, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "ancient-notation, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
doctitlees = "Transportar música con el menor número de alteraciones"
texidoces = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "pitches, staff-notation, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "staff-notation, contexts-and-engravers"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "editorial-annotations, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "tweaks-and-overrides"
texidoc = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
%% Edit this file using a Unicode aware editor, such as GVIM, GEDIT, Emacs
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "tweaks-and-overrides, spacing"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "vocal-music, tweaks-and-overrides, spacing"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "vocal-music"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "vocal-music, keyboards, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "text, vocal-music, contexts-and-engravers, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "vocal-music, template"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoces = "
Mediante la adición del grabador @code{Volta_engraver} al
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "repeats,staff-notation"
texidoc = "By adding the @code{Volta_engraver} to the relevant
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "repeats"
-\version "2.11.61"
+\version "2.12.0"
#(set-global-staff-size 15)
\paper{
-\version "2.11.61"
+\version "2.12.0"
\header {
texidoc = " Chord names are generated from a list pitches. The
-\version "2.11.61"
+\version "2.12.0"
\header {
texidoc = "@cindex Chord Names German
The english naming of chords (default) can be changed to german
-\version "2.11.61"
+\version "2.12.0"
#(set-global-staff-size 15)
\paper{
ragged-right=##f
\include "predefined-guitar-fretboards.ly"
-\version "2.11.61"
+\version "2.12.0"
mychords = \chordmode {c1 c:m c:aug c:dim c:7 c:maj7 c:m7 \break }
" }
-\version "2.11.61"
+\version "2.12.0"
\include "gregorian.ly"
-\version "2.11.61"
+\version "2.12.0"
\include "english.ly"
#(set-global-staff-size 15)
\paper{
-\version "2.11.61"
+\version "2.12.0"
\include "english.ly"
#(set-global-staff-size 15)
\paper {
-\version "2.11.61"
+\version "2.12.0"
#(set-global-staff-size 15)
\paper{
ragged-right=##f
evenFooterMarkup = \markup {}
}
-\version "2.11.61"
+\version "2.12.0"
#(define-markup-command (doc-char layout props name) (string?)
(interpret-markup layout props
% on melodies from Bellini's "Norma" %
%*****************************************************************%
-\version "2.11.51"
+\version "2.12.0"
#(set-global-staff-size 15)
\paper {
-\version "2.11.61"
+\version "2.12.0"
\include "english.ly"
#(set-global-staff-size 15)
-\version "2.11.61"
+\version "2.12.0"
\header{
texidoc="
Note head shapes may be set from several choices.
-\version "2.11.61"
+\version "2.12.0"
% yes, I know this is a mess. But I'm not going to fuss with
% it one day before I leave. -gp
-\version "2.11.61"
+\version "2.12.0"
\include "english.ly"
#(set-global-staff-size 15)
\paper{
-\version "2.11.61"
+\version "2.12.0"
\include "english.ly"
#(set-global-staff-size 15)
\paper {
-\version "2.11.61"
+\version "2.12.0"
\include "english.ly"
#(set-global-staff-size 15)
\paper {
-\version "2.11.61"
+\version "2.12.0"
\header {
title = "Screech and boink"
subtitle = "Random complex notation"
-\version "2.11.61"
+\version "2.12.0"
% this chart is used in the manual too.
-\version "2.11.65"
+\version "2.12.0"
\include "english.ly"
#(set-global-staff-size 15)
\paper{
-\version "2.11.61"
+\version "2.12.0"
\include "catalan.ly"
#(set-global-staff-size 15)
\paper{
-\version "2.11.61"
+\version "2.12.0"
\include "english.ly"
#(set-global-staff-size 15)
\paper{
%% Statement Date: Octber the 9th, 2008
-\version "2.11.61"
+\version "2.12.0"
#(set-global-staff-size 15)
%%%
-\version "2.11.61"
+\version "2.12.0"
#(set-global-staff-size 15)
\paper {
line-width = 16\cm
-\version "2.11.61"
+\version "2.12.0"
\header {
title = "Title"
subtitle = "Subtitle"
copyright = "Public Domain"
}
-\version "2.11.61"
+\version "2.12.0"
global = {
\key a \minor
}
-\version "2.11.61"
+\version "2.12.0"
manuscriptBreak = { \break }
footer = "Mutopia-2001/04/27-xx"
}
-\version "2.11.61"
+\version "2.12.0"
#(set-global-staff-size 16)
-\version "2.11.61"
+\version "2.12.0"
forcedLastBreak = { \break }
#(ly:set-option 'old-relative)
-\version "2.11.61"
+\version "2.12.0"
%{
Header for Petites Preludes.
-\version "2.11.61"
+\version "2.12.0"
#(set-global-staff-size 16)
-\version "2.11.61"
+\version "2.12.0"
\header {
title = "Romanzen"
%}
-\version "2.11.61"
+\version "2.12.0"
\include "mozart-hrn3-defs.ily"
\include "mozart-hrn3-allegro.ily"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "text, paper-and-layout, titles"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "text"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "world-music"
-\version "2.11.65"
+\version "2.12.0"
\header {
lsrtags = "paper-and-layout"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks"
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks, text"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "rhythms,tweaks-and-overrides"
texidoc = "
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "tweaks-and-overrides"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "rhythms,tweaks-and-overrides"
texidoc = "
-\version "2.11.62"
+\version "2.12.0"
\header {
lsrtags = "staff-notation"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "rhythms,contexts-and-engravers"
texidoc = "The @code{measureLength} property, together with
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "paper-and-layout" % a new tag like "Mixing text and music" or
% "Special output" might be more adequate -jm
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "pitches,editorial-annotations,really-cool"
texidoc = "
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
-\version "2.11.62"
+\version "2.12.0"
\header {
lsrtags = "staff-notation"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks,text,tweaks-and-overrides"
texidoc = "
-\version "2.11.65"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks, text, tweaks-and-overrides"
-\version "2.11.65"
+\version "2.12.0"
\header {
lsrtags = "fretted-strings,tweaks-and-overrides"
-\version "2.11.65"
+\version "2.12.0"
\header {
lsrtags = "fretted-strings,tweaks-and-overrides"
-\version "2.11.65"
+\version "2.12.0"
\header {
lsrtags = "fretted-strings"
texidoc = "Predefined fret diagrams can be added for new instruments
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "staff-notation,tweaks-and-overrides"
texidoc = "If there is only one staff in one of the staff types
-\version "2.11.62"
+\version "2.12.0"
\header {
lsrtags = "pitches"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "unfretted-strings,tweaks-and-overrides"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "tweaks-and-overrides"
texidoc = "
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "tweaks-and-overrides"
texidoc = "
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "keyboards, tweaks-and-overrides"
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "winds"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "fretted-strings,tweaks-and-overrides"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "rhythms,fretted-strings"
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "rhythms, percussion"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "staff-notation,ancient-notation"
texidoc = "Incipits can be added using the instrument name grob, but
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks,tweaks-and-overrides"
texidoc = "
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "staff-notation,fretted-strings"
-\version "2.11.65"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks"
texidoc = "Arrows can be applied to text-spanners and line-spanners
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "pitches,world-music"
texidoc = "Makam is a type of melody from Turkey using 1/9th-tone
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "rhythms,tweaks-and-overrides"
texidoc = "
-\version "2.11.62"
+\version "2.12.0"
\header {
lsrtags = "editorial-annotations, vocal-music"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "text"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "staff-notation, fretted-strings"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "rhythms, text"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "text"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "spacing"
texidoc = "Page labels may be placed inside music or at top-level,
-\version "2.11.64"
+\version "2.12.0"
\header {
lsrtags = "repeats, tweaks-and-overrides"
texidoc = "
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks,keyboards,template"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "rhythms,tweaks-and-overrides"
texidoc = "
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "pitches,staff-notation"
texidoc = "Quotations take into account the transposition of both
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "staff-notation"
texidoc = "The @code{quotedEventTypes} property determines the
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "expressive-marks"
texidoc = "If the note which ends a hairpin falls on a downbeat,
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
texidoc = "
By specifying the context, the effect of @code{beatGrouping} can be
limited to the context specified, and the values which may have
-been set in higher-level contexts can be overridden:
+been set in higher-level contexts can be overridden. The
+@code{\set} commands must be placed @emph{after} all @code{\time}
+commands:
"
doctitle = "Specifying context with beatGrouping"
}
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "simultaneous-notes,tweaks-and-overrides"
texidoc = "
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "paper-and-layout"
texidoc = "A table of contents is included using
-\version "2.11.65"
+\version "2.12.0"
\header {
lsrtags = "staff-notation"
texidoc = "
doctitle = "Tick bar lines"
}
\relative c' {
- c4 d e f \bar "'"
- g4 f e d \bar "'"
- c4 d e f \bar "'"
+ \set Score.defaultBarType = #"'"
+ c4 d e f
+ g4 f e d
+ c4 d e f
g4 f e d
\bar "|."
}
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "pitches"
texidoc = "This example uses some Scheme code to enforce enharmonic
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "rhythms"
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "tweaks-and-overrides"
texidoc = "
-\version "2.11.61"
+\version "2.12.0"
%% Edit this file using a Unicode aware editor, such as GVIM, GEDIT, Emacs
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "repeats,staff-notation,chords"
texidoc = "By adding the @code{Volta_engraver} to the relevant
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "repeats,staff-notation"
texidoc = "By adding the @code{Volta_engraver} to the relevant
-\version "2.11.61"
+\version "2.12.0"
\header {
lsrtags = "repeats"
-\version "2.11.61"
+\version "2.12.0"
\header
{
-\version "2.11.61"
+\version "2.12.0"
\header {
title = "Puer natus est nobis"
subtitle = "Antiphona ad introitum VII"
"
}
-\version "2.11.51"
+\version "2.12.0"
\relative c'' {
\time 3/4
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "When a tie is broken, the spacing engine must consider the
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Cautionary accidentals may be indicated using either
}
-\version "2.11.51"
+\version "2.12.0"
\new Staff \relative c' {
\clef treble
cis dis fis
texidoc = "accidentals avoid stems of other notes too."
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
-\version "2.11.61"
+\version "2.12.0"
\header {
texidoc = "Several automatic accidental rules
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "If two forced accidentals happen at the same time, only one
sharp sign is printed."
-\version "2.11.53"
+\version "2.12.0"
\header {
texidoc = "Cautionary accidentals applied to tied notes after a
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Accidentals can be forced with ! and ? even if the notes are tied."
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc="
}
-\version "2.11.51"
+\version "2.12.0"
\layout
{
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Quarter tone notation is supported, including
threequarters flat."
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
\relative c'' {
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
A sharp sign after a double sharp sign, as well as a flat sign
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "The second and third notes should not get accidentals,
wreak havoc in the spacing when unbroken."
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
\header{
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
anywhere in the vertical alignment. "
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\book {
\score {
}
-\version "2.11.51"
+\version "2.12.0"
#(set-global-staff-size 13)
texidoc = "Ambituses use actual pitch not lexicographic ordering."
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right=##t
"
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "The @code{\applyOutput} expression is the most flexible way to
\layout { ragged-right= ##t }
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
A square bracket on the left indicates that the player should not
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Arpeggio stays clear of accidentals and flipped note heads."
-\version "2.11.62"
+\version "2.12.0"
\header {
texidoc = "Arpeggios do not overshoot the highest note head.
}
-\version "2.11.51"
+\version "2.12.0"
\relative c' {
\override Arpeggio #'stencil = #ly:arpeggio::brew-chord-slur
texidoc = "Span arpeggios within one staff also work"
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
\new PianoStaff <<
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
Arpeggios are supported, both cross-staff and broken single staff.
texidoc = "Augmentum dots are accounted for in horizontal spacing."
}
-\version "2.11.51"
+\version "2.12.0"
\include "gregorian.ly"
\score {
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="No auto beams will be put over (manual) repeat bars."
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
{
\time 2/4
-\version "2.11.57"
+\version "2.12.0"
\header {
texidoc = "Autobeaming will break beams according to beatGrouping
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
}
texidoc = "Automatic beaming is also done on tuplets."
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right= ##t }
\relative c''{
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Tuplet-spanner should not put (visible) brackets on
beam."
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Excercise all output functions"
}
-\version "2.11.53"
+\version "2.12.0"
\paper { ragged-right = ##t }
\include "typography-demo.ly"
-\version "2.11.51"
+\version "2.12.0"
#(define outname (ly:parser-output-name parser))
with lines and explanatory text added."
}
-\version "2.11.51"
+\version "2.12.0"
\layout{ ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "The meaning of @code{|} is stored in the
identifier @code{pipeSymbol}."
lines exactly. Dashed barlines between staves start and end on a
half dash precisely." }
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
\header { texidoc = "A ticked bar line is a short line of the same length as a
staff space, centered on the top-most barline." }
-\version "2.11.65"
+\version "2.12.0"
\paper { ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
-\version "2.11.51"
+\version "2.12.0"
\header
{
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc = "@cindex Beaming Presets
There are presets for the @code{auto-beam} engraver in the case of common
beamlets on the same height."
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
raggedright = ##t
texidoc = "Beamlets in grace notes remain readable."
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
}
\layout {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\relative c'' {
}
-\version "2.11.51"
+\version "2.12.0"
\new Staff \with {
\remove Bar_engraver
"
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right= ##t }
\relative c'' {
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="Simple beams on middle staffline are allowed to be
-\version "2.11.51"
+\version "2.12.0"
morgenliedBeam = \relative c'' \new Voice{
texidoc = "Beams that are not strictly concave are damped
according to their concaveness. "
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc = "Fully concave beams should be horizontal. Informally spoken,
-\version "2.11.51"
+\version "2.12.0"
\header{
}
-\version "2.11.51"
+\version "2.12.0"
\new PianoStaff <<
\new Staff = RH {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Cross staff (kneed) beams do not cause extreme slopes."
}
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
Beams can be typeset over fixed distance aligned staves, beam
-\version "2.11.51"
+\version "2.12.0"
\header { texidoc = "@cindex Beam Damp
Beams are less steep than the notes they encompass. " }
\layout{
\layout{ ragged-right = ##t}
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="Beamed stems have standard lengths if possible. Quantization is switched off in this example."
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
Beams should behave reasonably well, even under extreme circumstances.
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc="In feathered beams, stems in knees reach up to the feathered part correctly.
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
texidoc = "Even very flat but slanted patterns should give slanted beams. "
}
-\version "2.11.51"
+\version "2.12.0"
\layout{
line-width = 15\cm
debug-beam-scoring = ##t
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "In French style beaming, the stems do not go between beams."
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc=" Funky kneed beams with beamlets also work. The beamlets
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "In complex configurations of knee beaming, according to
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="@cindex Beam Isknee
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Point-symmetric beams should receive the same
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Kneed beams (often happens with cross-staff beams)
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "When a beam goes over a rest, there should not be any
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Explicit beams may cross barlines. "
}
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc=" Beams on ledgered notes should always reach the middle staff
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\relative c''{
\time 3/8
-\version "2.11.51"
+\version "2.12.0"
\header{
-\version "2.11.51"
+\version "2.12.0"
\header
{
texidoc= "Quarter notes may be beamed: the beam is halted momentarily."
texidoc = "The number of beams does not change on a rest."
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
\header{
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="Beams in unnatural direction, have shortened stems, but do not look too short."
clip-edges is switched off automatically."
}
-\version "2.11.51"
+\version "2.12.0"
\relative c' {
d16[]
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
\layout {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\relative c'' {
\override Stem #'max-beam-connect = #1
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Beaming can be also given explicitly."
}
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Bends avoid dots, but only if necessary."
}
-\version "2.11.65"
+\version "2.12.0"
\header {
texidoc = "A book can be split into several parts with different paper settings,
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "The default callback for break-align-anchor in clefs and time/key
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "The break-align-anchor property of a break-aligned grob gives
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
Breathing signs are available in different tastes: commas (default),
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="Property chordChanges: display chord names only when
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "The property @code{chordNameExceptions} can used
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "The layout of the major 7 can be tuned with
@code{majorSevenSymbol}."
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "@cindex Chord Names German
The english naming of chords (default) can be changed to german
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Scripts can also be attached to chord elements."
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "
Tremolo repeats can be constructed for short tremolos (total duration smaller than 1/4) too. Only some of the beams are connected to the stems.
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="Chord tremolos on a single note."
}
-\version "2.11.51"
+\version "2.12.0"
\paper{
ragged-right = ##t
}
notes."
}
-\version "2.11.51"
+\version "2.12.0"
\relative c'''{
\repeat tremolo 32{ g64 a }
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.10.0"
+\version "2.12.0"
\header{
texidoc="@code{staffLineLayoutFunction} is used to change the position of the notes.
This sets @code{staffLineLayoutFunction} to @code{ly:pitch-semitones} to
-\version "2.11.51" \header {
+\version "2.12.0" \header {
texidoc = "Octavation signs may be added to clefs. These
octavation signs may be placed below or above (meaning an octave
but they don't confuse one another."
}
-\version "2.11.53"
+\version "2.12.0"
\layout { ragged-right = ##t}
}
-\version "2.11.51"
+\version "2.12.0"
{
\clef "foo"
c4
-\version "2.11.51"
+\version "2.12.0"
\header{
}
-\version "2.11.51"
+\version "2.12.0"
#(ly:set-option 'clip-systems)
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Clusters behave well across line breaks."
}
ragged-right= ##t
}
-\version "2.11.51"
+\version "2.12.0"
\new PianoStaff <<
\new Staff = "up" {
}
-\version "2.11.51"
+\version "2.12.0"
\relative c' { \makeClusters <e d'> }
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Clusters behave well across line breaks."
}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Clusters are a device to denote that a complete range of
notes is to be played."
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Single head notes may collide. "
}
\layout { ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
\relative <<
\new Staff {
}
\layout { ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
\relative c'' {
<< <a c>2\\ { <b d>4 <b d>4 } >>
<< { <a c>2 } \\ { <b d>4. <b e>8 } >>
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "If dotted note heads must remain on the left side,
}
-\version "2.11.51"
+\version "2.12.0"
\paper{ ragged-right=##t }
on the right side."
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right= ##t }
% todo: b2 (up) + b8 down looks strange compared to c2up + b8. (down)
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Note heads in collisions should be merged if
they have the same positions in the extreme note heads.
block-shaped note."
}
-\version "2.11.51"
+\version "2.12.0"
<<
\key c \major
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc =
"Open and black note heads are not merged by default."
texidoc = "Collision resolution may be forced manually with @code{force-hshift}. "
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "If @code{NoteCollision} has
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc =
}
\layout { ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
{
\relative c'' \new Staff {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Oppositely stemmed chords, meshing into each other,
are resolved."
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Seconds do not confuse the collision algorithm too much. The best
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Mixed collisions with whole notes require asymmetric shifts."
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
In addition to normal collision rules, there is support for polyphony,
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc = "Each grob can have a color assigned to it.
\header {
texidoc = "You can put lyrics under completion heads."
}
-\version "2.11.51"
+\version "2.12.0"
mel = \relative c'' {
c1. c1.
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Completion heads are broken across bar lines. This was
}
-\version "2.11.58"
+\version "2.12.0"
\paper{ ragged-right=##t }
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "a staff should die if there is reference to it."
-\version "2.11.65"
+\version "2.12.0"
\header {
texidoc = "Contexts of the same type can be nested."
}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Custodes may be engraved in various styles."
}
-\version "2.11.51"
+\version "2.12.0"
#(use-modules (srfi srfi-13)
(ice-9 format))
texidoc = "Dot columns do not trigger beam slanting too early."
}
-\version "2.11.51"
+\version "2.12.0"
\paper{ ragged-right=##t }
<<
{ e''8 e''8 g'' g''} \\
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Dots move to the right when a collision with the (up)flag happens."
}
}
-\version "2.11.54"
+\version "2.12.0"
\new Staff \relative c''
{
<<
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
-\version "2.11.51" \header{
+\version "2.12.0" \header{
texidoc=" Both noteheads and rests can have dots.
-\version "2.11.60"
+\version "2.12.0"
\header {
texidoc = "For volte, the style of double repeats can be set
-\version "2.11.60"
+\version "2.12.0"
\header {
texidoc = "Three types of double repeat bar line are supported."
}
-\version "2.11.51"
+\version "2.12.0"
drh = \drummode { cymc4.^"crash" hhc16^"h.h." hh \repeat "unfold" 5 {hhc8 hho hhc8 hh16 hh} hhc4 r4 r2 }
drl = \drummode {\repeat "unfold" 3 {bd4 sn8 bd bd4 << bd ss >> } bd8 tommh tommh bd toml toml bd tomfh16 tomfh }
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc = "Broken crescendi should be open on one side."
}
-\version "2.11.51"
+\version "2.12.0"
\header {texidoc = "Dynamic letters are kerned, and their weight
matches that of the hairpin signs. The dynamic scripts should be
respectively."
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc=" Dynamics appear below or above the staff. If multiple
dynamics are linked with (de)crescendi, they should be on the same
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
\relative c' {
from the notes. "
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
indent = 0.0\mm
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Crescendi may start off-notes, however, they should not collapse into flat lines."
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = " Easy-notation (or Ez-notation) prints names in note heads.
-\version "2.11.51"
+\version "2.12.0"
\header { texidoc = "
Fermatas over multimeasure rests are positioned as over normal rests.
texidoc = "Bass figures can carry alterations."
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right= ##t
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
may be forbidden. "
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
\figures {
}
-\version "2.11.64"
+\version "2.12.0"
<<
\relative \new Voice {
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
}
-\version "2.11.51"
+\version "2.12.0"
\paper
{
ragged-right = ##t
-\version "2.11.51"
+\version "2.12.0"
bassfigures = \figuremode {
<0/ 1/ 2/> <3/ 4/ 5/> <6/ 7/ 8/> <9/ 10/ 11/> <12/ 13/ 100/>
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header
{
texidoc = "Scripts left of a chord avoid accidentals."
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "It is possible to associate
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Fingerings work correctly with cross-staff beams."
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Automatic fingering tries to put fingering instructions
-\version "2.11.57"
+\version "2.12.0"
#(set-global-staff-size 17)
\header {
-\version "2.11.57"
+\version "2.12.0"
\header {
texidoc = "The 'flag property of the Stem grob can be set to a custom
-\version "2.11.49"
+\version "2.12.0"
stemLength = #(define-music-function (parser location length) (number?)
"Set the length of the next stem explicitly."
-\version "2.11.57"
+\version "2.12.0"
\header {
texidoc = "Straight flag styles."
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc = "
The line-spanners connects to the Y position of the note on the next line.
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc= "The voice follower is not confused when set for consecutive
"
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##T
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
% change for other default global staff size.
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Text set in TrueType Fonts that contain kerning tables, are kerned. "
-\version "2.11.51"
+\version "2.12.0"
\header {
@code{make-century-schoolbook-tree}."
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
#(define text-font-defaults
}
-\version "2.11.51"
+\version "2.12.0"
foo = \relative c {
<d\5 fis a d fis>_\markup {
-\version "2.11.65"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
%% todo : use macro, to show the statement tested.
#(ly:progress "~a\n" (ly:expand-environment "${HOME} $HOME $$ "))
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
texidoc = "If broken, Glissandi anticipate on the pitch of the next line."
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##T }
Use @code{breakable} grob property to override."
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\header{
-\version "2.11.51"
+\version "2.12.0"
\header
{
texidoc = "The autobeamer is not confused by grace notes."
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Bar line should come before the grace note."
}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Grace notes do tricky things with timing. If a measure
\layout { ragged-right= ##t }
-\version "2.11.51"
+\version "2.12.0"
\relative c'' {
c4 d8[
\grace { e32[ d c d] } e8]
finishing the grace section."
}
-\version "2.11.51"
+\version "2.12.0"
\relative c''' {
\voiceOne
texidoc = "Grace notes at the end of an expression don't cause crashes."
}
-\version "2.11.51"
+\version "2.12.0"
{ e' \acciaccatura << e'8 \\ cis' >> }
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc="@cindex Grace End
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Grace code should not be confused by nested sequential music containing grace notes; practically speaking, this means that the end-bar and measure bar coincide in this example."
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Grace code should not be confused by nested sequential music containing grace notes; practically speaking, this means that the end-bar and measure bar coincide in this example."
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "In nested syntax, graces are still properly handled."
}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Also in the nested syntax here, grace notes appear rightly."
}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Graces notes may have the same duration as the main note."
}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Grace notes may be put in a @code{partcombine}r."
}
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc = "Stripped version of trip.ly. Staves should be of correct length."
}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Pieces may begin with grace notes."
}
normal notes, if possible. They should never be longer, even if that
would lead to beam quanting problems."
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc = "Here @code{startGraceMusic} should set @code{no-stem-extend} to
true; the two grace beams should be the same here.
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Grace notes in different voices/staves are synchronized."
}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "There are three different kinds of grace types: the base
grace switches to smaller type, the appoggiatura inserts also a slur, and the
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "When grace notes are entered with unfolded repeats,
line breaks take place before grace notes.
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header{
}
-\version "2.11.51"
+\version "2.12.0"
\include "graphviz-init.ly"
#(whitelist-grob 'NoteHead)
staves synchronized with the notes."
}
-\version "2.11.51"
+\version "2.12.0"
skips =
{
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
should not be left open, and should end at the bar line. "
}
-\version "2.11.51"
+\version "2.12.0"
\relative c' {
c1\>
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc ="Hairpin crescendi may be dashed. "
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
}
-\version "2.11.51"
+\version "2.12.0"
\relative c'' {
\override Hairpin #'bound-padding = #1.0
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Hairpins end at the left edge of a rest."
}
texidoc = "Staves with percent repeats are not killed."
}
-\version "2.11.53"
+\version "2.12.0"
<<
\new Staff { c''1 c'' \break c'' c'' }
-\version "2.11.51"
+\version "2.12.0"
\header { texidoc =
ragged-right = ##T
}
-\version "2.11.51"
+\version "2.12.0"
<<
\new Voice = melody \relative c'{
-\version "2.11.57"
+\version "2.12.0"
\header {
texidoc = "The harp-pedal markup function does some sanity checks. All
-\version "2.11.65"
+\version "2.12.0"
\header {
texidoc = "Harp pedals can be tweaked through the size, thickness and
-\version "2.11.57"
+\version "2.12.0"
\header {
texidoc = "Basic harp diagram functionality, including circled pedal boxes.
texidoc = "Horizontal brackets connect over line breaks."
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
\new Voice \with {
-\version "2.11.51"
+\version "2.12.0"
\header {
}
-\version "2.11.55"
+\version "2.12.0"
myDisplayMusic =
#(define-music-function (parser location music)
\header {
texidoc = "test identifiers."
}
-\version "2.11.51"
+\version "2.12.0"
num = #3
mus = { c'4 }
}
-\version "2.11.51"
+\version "2.12.0"
%% to avoid warnings:
#(set-object-property! 'music 'backend-type? ly:music?)
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "
}
-\version "2.11.51"
+\version "2.12.0"
\new PianoStaff <<
\new Staff {
\layout { ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
textFlat = \markup {\smaller \flat}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Instrument names are also printed on partial starting measures."
}
}
-\version "2.11.57"
+\version "2.12.0"
\paper { left-margin = 3\cm }
\score {
\new StaffGroup <<
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
Staff margins are also markings attached to barlines. They should be
properties for an in staff instrument switch. "
}
-\version "2.11.51"
+\version "2.12.0"
\addInstrumentDefinition #"bassClar"
#`((instrumentTransposition . ,(ly:make-pitch -1 6 FLAT))
(instrumentName . "bla")
-\version "2.11.51"
+\version "2.12.0"
\header { texidoc = "Each clef has its own accidental placing
rules. "}
signature are cancelled." }
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
{
\override Staff.KeySignature #'padding-pairs
-\version "2.11.51"
+\version "2.12.0"
\header { texidoc = "By setting @code{Staff.keySignature} directly,
key signatures can be set invidually per pitch.
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
Key signatures may appear on key changes, even without a barline.
}
-\version "2.11.51"
+\version "2.12.0"
\paper{
ragged-right=##t
"
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
#(set-default-paper-size "a6" 'landscape)
\header { texidoc = " Scores may be printed in landcape mode."}
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t}
\relative c'' {
\time 2/4
texidoc = "Ledger lines are shortened when they are very close. This ensures
that ledger lines stay separate."
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
-\version "2.11.52"
+\version "2.12.0"
\header {
texidoc = "Ledger lines should appear at every other location
for a variety of staves using both @code{line-count} and
texidoc = "The ligature bracket right-end is not affected by other voices."
}
-\version "2.11.51"
+\version "2.12.0"
<<
\new Staff {\[b2 b\] | \[b b\] }
\new Staff {b2 b | b4 b b b }
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
withPaddingA = #(define-music-function (parser location padding music) (number? ly:music?)
texidoc = "Arrows can be applied to text-spanners and line-spanners (such as the Glissando)"
}
-\version "2.11.65"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
-\version "2.11.53"
+\version "2.12.0"
\relative {
\override Staff.OttavaBracket #'dash-period = #0.1
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
indent = 0.0\mm
-\version "2.11.61"
+\version "2.12.0"
\header {
texidoc = "Setting @code{'zigzag} style for spanners does not
texidoc = "Cover all line styles available"
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##T
}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "With the @code{\\lyricsto} mechanism, individual lyric
lines can be associated with one melody line. Each lyric line
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc ="Polyphonic rhythms and rests do not disturb
{
texidoc = "switching voices in the middle of the lyrics is possible using @code{lyricsto}."
}
-\version "2.11.51"
+\version "2.12.0"
<<
\relative \new Voice = "lahlah" {
}
-\version "2.11.51"
+\version "2.12.0"
<<
\relative \new Voice = "lahlah" {
-\version "2.11.51"
+\version "2.12.0"
\header{
-\version "2.11.51"
+\version "2.12.0"
\header
{
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
ragged-right = ##T
}
-\version "2.11.51"
+\version "2.12.0"
<<
\new Voice = "one" \relative c'' {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Extenders will not protrude into the right margin"
}
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "In lyrics, hyphens may be used."
}
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
\score {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "
texidoc = "Tildes in lyric syllables are converted to tie symbols."
}
-\version "2.11.51"
+\version "2.12.0"
\lyrics {
wa~o~a
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
-\version "2.11.51"
+\version "2.12.0"
\header
{
texidoc = "Melismata are triggered by manual beams."
\layout{ ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
<<
\new Staff \relative c' {
\key aes \major
texidoc = "Lyrics are not lowered despite the presence of an octavation 8."
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
\context {
\Staff
}
}
-\version "2.11.51"
+\version "2.12.0"
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.57"
+\version "2.12.0"
\header {
texidoc = "Fixed horizontal alignment of columns of text can be set using
}
\paper { ragged-right = ##T }
-\version "2.11.51"
+\version "2.12.0"
{
g'_\markup {
texidoc = "The epsfile markup command reads an EPS file"
}
-\version "2.11.51"
+\version "2.12.0"
#(let* ((port (open-output-file "box.eps")))
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Text that can spread over pages is entered with the
}
-\version "2.11.51"
+\version "2.12.0"
{
c'^\markup
-\version "2.11.65"
+\version "2.12.0"
\header {
texidoc = " A dotted whole note displayed via the @code{\\note}
texidoc = "The note markup function may be used to make metronome
markings. It works for a variety of flag, dot and duration settings."
}
-\version "2.11.51"
+\version "2.12.0"
\relative c''
{
-\version "2.11.51"
+\version "2.12.0"
{
\textLengthOn
texidoc = "Use \\score block as markup command."
}
-\version "2.11.51"
+\version "2.12.0"
tuning = \markup {
\score {
-\version "2.11.51"
+\version "2.12.0"
\header {texidoc="Markup scripts may be stacked."}
\layout { ragged-right = ##t}
{
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Demo of markup texts, using LilyPond syntax."
-\version "2.11.51"
+\version "2.12.0"
#(define-markup-command (upcase paper props str) (string?)
"Upcase the string characters. Syntax: \\upcase #\"string\""
}
-\version "2.11.51"
+\version "2.12.0"
\markup {
this is normal text
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
-\version "2.11.65"
+\version "2.12.0"
\header {
texidoc = "Mensural ligatures show different shapes, depending on the
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "There is limited support for mensural notation: note head
\layout { ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
\relative c'' {
\tempo \breve = 100 c1 c1 \tempo 8.. = 50 c1
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Midi can create drums."
}
}
-\version "2.11.51"
+\version "2.12.0"
\score {
\relative {
off will appear at tick 768 (2 * 384)."
}
-\version "2.11.51"
+\version "2.12.0"
\score {
\relative c' {
c4
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Lyrics in MIDI are aligned to ties and beams:
the next (possibly grace) note. "
}
-\version "2.11.51"
+\version "2.12.0"
\score
{
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "The pitch wheel is used for microtones."
}
\header {
texidoc = "MIDI and partial measures work together."
}
-\version "2.11.51"
+\version "2.12.0"
\score {
{ \partial 4
}
-\version "2.11.51"
+\version "2.12.0"
\score {
\relative {
-\version "2.11.51"
+\version "2.12.0"
% candidate for regression. -gp
\header {
texidoc="Converting LilyPond input to MIDI and then again back with
{
texidoc = "should deliver f' in MIDI"
}
-\version "2.11.51"
+\version "2.12.0"
\score {
{
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "@cindex Midi Volume Equaliser
The full orchestra plays a note, where groups stop one after
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
-\version "2.11.51"
+\version "2.12.0"
\header
{
texidoc = "The multimeasure rest is centered exactly between bar lines."
-\version "2.11.51"
+\version "2.12.0"
\header
{
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "There are both long and short instrument names.
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
<<
-\version "2.11.57"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="For longer measure lengths, the breve rest is used."
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
}
-\version "2.11.51"
+\version "2.12.0"
\paper{
ragged-right = ##T
}
@code{\bar}, but is implemented completely in Scheme."
}
-\version "2.11.51"
+\version "2.12.0"
myBar = #(define-music-function (parser location bar-type) (string?)
(context-spec-music
}
-\version "2.11.51"
+\version "2.12.0"
#(define (notes-to-skip m)
"Convert all stuff with duration (notes, lyrics, bass figures, etc.) to skips.
}
>>
-\version "2.11.51"
+\version "2.12.0"
-\version "2.11.51"
+\version "2.12.0"
% possible rename to staff-something. -gp
\header{ texidoc = "@cindex Staff Remove
-\version "2.11.52"
+\version "2.12.0"
\header {
texidoc = "Bar lines are positioned correctly when using custom
staves which are not centered around position@tie{}0.
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc=" By default, text is set with empty horizontal dimensions.
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Note heads are flipped on the stem to prevent collisions.
-\version "2.11.58"
+\version "2.12.0"
\header {
texidoc = "
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
{
to the @code{tonic} property."
}
-\version "2.11.51"
+\version "2.12.0"
fragment = {
\key c \major
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
Note head shapes may be set from several choices.
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Note head lines (e.g. glissando)
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc=" The number of stafflines of a staff can be set. Ledger
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="The optimal page breaker will stretch the
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Print the option help text, for comparison against
}
-\version "2.11.53"
+\version "2.12.0"
\layout { ragged-right = ##t }
"Both edge heights of an ottava bracket can be specified."
}
-\version "2.11.53"
+\version "2.12.0"
\layout { ragged-right = ##t}
}
-\version "2.11.53"
+\version "2.12.0"
%% . There must be a minimum distance between the octavation line and the
%% topmost staff line, taking into account the height of the closing
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Sublist of grob property lists may be also tuned. In the
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Page breaks work when they are placed at the end of a score,
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Page breaking and page turning commands (@code{\\pageBreak},
}
-\version "2.11.51"
+\version "2.12.0"
\new Staff {
c'1 \glissando
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "The number of pages in a score can be forced by setting
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "The number of pages in a score can be forced by setting
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "The number of pages in a score can be forced by setting
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Page labels may be placed inside music or at top-level,
}
-\version "2.11.51"
+\version "2.12.0"
#(set-default-paper-size "a6" 'portrait)
texidoc = "Page breaking details can be stored for later reference."
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
#(define write-page-layout #t)
-\version "2.11.51"
+\version "2.12.0"
-\version "2.11.51"
+\version "2.12.0"
#(set-default-paper-size "a6")
\header {
-\version "2.11.51"
+\version "2.12.0"
#(set-default-paper-size "a6")
\header {
-\version "2.11.51"
+\version "2.12.0"
#(set-default-paper-size "a6")
\header {
}
-\version "2.11.51"
+\version "2.12.0"
#(set-global-staff-size 11)
first system can be forced to be uniform."
}
-\version "2.11.51"
+\version "2.12.0"
#(set-default-paper-size "a6")
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "By default, we start with page 1, which is on the right hand side
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "By default, we start with page 1, which is on the right hand side
-\version "2.11.58"
+\version "2.12.0"
\header {
texidoc="If there are no good places to have a page turn,
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "The page-turn engraver will not count potential page
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="The page-turn breaker will put a page turn after
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\relative c'' {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\relative {
c4 -\parenthesize -.
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc ="The a2 string is printed only on notes (i.e. not on rests),
and only after chords, solo or polyphony."
"
}
-\version "2.11.51"
+\version "2.12.0"
vone = \relative a' { g4 g f f e e d d }
vtwo = \relative a' { e4 e f f g g a a }
"
}
-\version "2.11.51"
+\version "2.12.0"
vone =
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Part combine texts accept markup."
\header { texidoc = " Multimeasure rests are printed after solos, both
for solo1 and for solo2." }
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
\new Staff
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
<<
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
\new Staff
vone = \relative a' { d4 r8 d8 d8 r8 d8 r8 d2 ~ d2 ~ d4 }
vtwo = \relative g' { g4. g8 r2 g4 r4 r2 g4 }
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right= ##t }
}
-\version "2.11.51"
+\version "2.12.0"
\new Staff <<
\partcombine
\paper { ragged-right = ##T }
-\version "2.11.51"
+\version "2.12.0"
\score {
<<
\layout { ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
vone = \relative a' {
g2 g g g4 g f' c c( c) c c c ~ c
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Unterminated piano pedal brackets run to the end of the piece. "
-\version "2.11.51"
+\version "2.12.0"
\header
{
texidoc = "The standard piano pedals style comes with Ped symbols.
-\version "2.11.65"
+\version "2.12.0"
\header { texidoc = "
The appearance of phrasing slurs may be changed from solid to dotted or dashed.
"
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="@code{PhrasingSlur}s go over normal slurs."
}
-\version "2.11.58"
+\version "2.12.0"
\header {
texidoc = "Phrasing slurs do not collide with tuplet numbers."
+\version "2.12.0"
+
% add a chord shape
-\version "2.11.65"
\addChordShape #'bes #guitar-tuning #"x;1-1-(;3-2;3-3;3-4;1-1-);"
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Distances between prefatory items (e.g. clef, bar,
#(ly:set-option 'profile-property-accesses #t)
-\version "2.11.51"
+\version "2.12.0"
\include "../../input/typography-demo.ly"
%\book { \score { {c4 } } }
}
\layout { ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
\relative c'' {
<<
{ \grace e8 d2 }
-\version "2.11.65"
+\version "2.12.0"
\header {
texidoc = "Nested properties may be overridden using Scheme list
syntax. This test performs two property overrides: the first
}
-\version "2.11.51"
+\version "2.12.0"
\relative {
f2 \glissando c
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Once properties take effect during a single time step only."
}
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
}
}
-\version "2.11.51"
+\version "2.12.0"
A = \relative c' { c4 d e f | \cueDuring #"qB" #1 { R1 } | }
B = \relative c' { \cueDuring #"qA" #1 { R1 } | f4 e d c | }
@code{rest-event} is not in @code{quotedEventTypes}."
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
}
}
\paper { ragged-right= ##t }
-\version "2.11.51"
+\version "2.12.0"
quoted = \relative c'' {
R1
\grace g16 f4 \grace a16 bes4 \grace b16 c4 c4
-\version "2.11.51"
+\version "2.12.0"
\header {
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
texidoc ="Tuplet bracket ends properly when quoting."
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
\header {
@code{rest-event} is not in @code{quotedEventTypes}."
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
}
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoc = "For a one-page score, ragged-bottom should have the
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "When a score takes up only a single line and it is compressed, it
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "When ragged-right is specifically disabled, a score with only one
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "When a score takes up only a single line and it is stretched, it
the alignment depends on which symbols are visible."
}
-\version "2.11.51"
+\version "2.12.0"
\relative {
\override Score.RehearsalMark #'break-align-symbols = #'(clef key-signature staff-bar)
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "RehearsalMarks still align correctly if Mark_engraver is moved to
}
-\version "2.11.51"
+\version "2.12.0"
\relative {
c1 \mark "foo"
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
\relative c'' {
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
\header {
texidoc = "Relative mode for repeats uses order of entry."
}
-\version "2.11.51"
+\version "2.12.0"
\relative {
\repeat "unfold" 3
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoc = "
Percent repeat counters can be shown at regular
}
-\version "2.11.51"
+\version "2.12.0"
\relative c'' \new Voice {
\set countPercentRepeats = ##t
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Percent repeats are also centered when there is a grace note in a parallel staff. "
-\version "2.11.65"
+\version "2.12.0"
\header {
texidoc = "The positioning of dots and slashes in percent repeat
glyphs can be altered using @code{dot-negative-kern} and
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Measure repeats may be nested with beat repeats."
}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Within a bar, beat repeats denote that a music snippet should be
played again."
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Each of the staves here should have four tremolo beams."
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Dots are added to tremolo notes if the durations involved require them."
-\version "2.11.51"
+\version "2.12.0"
\header { texidoc = "Volta repeats may be unfolded through the music
function @code{\unfoldRepeats}."
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Unfolding tremolo repeats. All fragments fill one
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="LilyPond has two modes for repeats: unfolded and semi-unfolded.
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "When too few alternatives are present, the first
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right=##t }
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
fig = \relative c' {
<a c e>8[
account properly."
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
collision."
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
Rests should not collide with beams, stems and noteheads. Rests may
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Whole and half rests moving outside the staff should get
ledger lines."
}
-\version "2.11.51"
+\version "2.12.0"
\new Staff {
<<
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Rests can have pitches--these will be affected by
}
-\version "2.11.51"
+\version "2.12.0"
\relative c'{
a\rest a8[ a\rest b]
\layout { ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
\new Staff \relative c' {
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
-\version "2.11.51"
+\version "2.12.0"
\header
{
-\version "2.11.51"
+\version "2.12.0"
"expect-error" = ##t
-\version "2.11.51"
+\version "2.12.0"
\header {
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
\relative c''{
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Horizontal scripts don't have @code{avoid-slur} set."
"
}
-\version "2.11.66"
+\version "2.12.0"
\relative c''
{
\override Script #'toward-stem-shift = #0.0
"
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Scripts can be stacked. The order is determined by a
priority field, but when objects have the same priority, the input
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right= ##t }
texidoc = "Scripts avoid stem tremolos even if there is no visible stem."
}
-\version "2.11.51"
+\version "2.12.0"
\layout {ragged-right =##t}
{
texidoc = "Semi tie directions may be forced from the input."
}
-\version "2.11.51"
+\version "2.12.0"
\layout{
ragged-right=##t
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
-\version "2.11.51"
+\version "2.12.0"
foollilypondbook = "
\score
"
-\version "2.11.51"
+\version "2.12.0"
foollilypondbook = "
\score
"
-\version "2.11.51"
+\version "2.12.0"
foollilypondbook = "
\score
"
-\version "2.11.51"
+\version "2.12.0"
foollilypondbook = "
\score
"
-\version "2.11.51"
+\version "2.12.0"
foollilypondbook = "
\score
"
ragged-right = ##T
}
-\version "2.11.51"
+\version "2.12.0"
\relative
<<
-\version "2.11.51"
+\version "2.12.0"
\header {
}
-\version "2.11.63"
+\version "2.12.0"
showFirstLength = R1*1
showLastLength = R1*2
}
-\version "2.11.63"
+\version "2.12.0"
showFirstLength = R1*3
\paper {
}
-\version "2.11.51"
+\version "2.12.0"
showLastLength = R1*3
\paper {
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##T
}
\header {
texidoc = "@code{-ddebug-skyline} draws the outline of the skyline used."
}
-\version "2.11.51"
+\version "2.12.0"
#(set-default-paper-size "a6" )
\layout {ragged-right = ##t}
-\version "2.11.51"
+\version "2.12.0"
\relative c''' {
\override TextScript #'outside-staff-priority = #2
\override DynamicLineSpanner #'outside-staff-priority = #1
\paper {ragged-right = ##t}
#(set-default-paper-size "a6")
-\version "2.11.51"
+\version "2.12.0"
\book {
\score {
{
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\new Staff { \clef bass c4^( \clef "G" g'4) s2 c''1_( f'') }
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Slurs that depend on a cross-staff beam are not calculated until after line-breaking."
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
Slurs behave decently when broken across a linebreak.
-\version "2.11.51"
+\version "2.12.0"
\header {texidoc = "@cindex Slur, dotted, dashed
The appearance of slurs may be changed from solid to dotted or dashed.
"
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="Slurs should not get confused by augmentation dots. With a lot
of dots, the problems becomes more visible."
texidoc = "Some composers use slurs both above and below chords.
This can be typeset by setting @code{doubleSlurs}"
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
\relative {
texidoc = "Dynamics avoid collision with slur."
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
indent = 0\mm
ragged-right = ##t
-\version "2.11.51"
+\version "2.12.0"
\header {
the given pair. "
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##T }
\relative {
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
Slurs should look nice and symmetric. The curvature may increase
-\version "2.11.51"
+\version "2.12.0"
\header
{
texidoc ="Slurs may be placed over rests. The slur will avoid
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
% #(define debug-slur-scoring #t)
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
slur responds appropriately if a script is moved."
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
indent = 0\mm
ragged-right = ##t
-\version "2.11.51"
+\version "2.12.0"
\header
{
texidoc = "Symmetric figures should lead to symmetric slurs."
-\version "2.11.51"
+\version "2.12.0"
\header
{
texidoc = "Symmetric figures should lead to symmetric slurs."
\layout {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\relative c'' {
\time 2/4
}
-\version "2.11.65"
+\version "2.12.0"
\paper {
ragged-right = ##t
-\version "2.11.51"
+\version "2.12.0"
\include "festival.ly"
-\version "2.11.51"
+\version "2.12.0"
\include "festival.ly"
-\version "2.11.51"
+\version "2.12.0"
\include "festival.ly"
-\version "2.11.51"
+\version "2.12.0"
\include "festival.ly"
-\version "2.11.51"
+\version "2.12.0"
\include "festival.ly"
-\version "2.11.51"
+\version "2.12.0"
\include "festival.ly"
-\version "2.11.51"
+\version "2.12.0"
\include "festival.ly"
-\version "2.11.51"
+\version "2.12.0"
\include "festival.ly"
-\version "2.11.51"
+\version "2.12.0"
\include "festival.ly"
#(set! *skip-word* #f)
-\version "2.11.51"
+\version "2.12.0"
\include "festival.ly"
-\version "2.11.51"
+\version "2.12.0"
\include "festival.ly"
-\version "2.11.51"
+\version "2.12.0"
\include "festival.ly"
-\version "2.11.51"
+\version "2.12.0"
\include "festival.ly"
-\version "2.11.51"
+\version "2.12.0"
\include "festival.ly"
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Accidentals in different staves do not affect the
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Accidentals do not influence the amount of stretchable space.
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Horizontal spacing works as expected on tied notes with
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Accidentals sticking out to the left
}
-\version "2.11.51"
+\version "2.12.0"
\layout{
ragged-right = ##t
}
}
-\version "2.11.51"
+\version "2.12.0"
\layout{ragged-right=##t}
\new Staff {
}
-\version "2.11.51"
+\version "2.12.0"
\layout{
ragged-right = ##t
}
}
-\version "2.11.51"
+\version "2.12.0"
\layout{
ragged-right=##t
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Clef changes at the start of a line get much more space
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc ="Broken engraving of a bar at the end of a line does not upset
-\version "2.11.51"
+\version "2.12.0"
\header { texidoc = "
A voicelet (a very short voice to get polyphonic chords correct)
should not confuse the spacing engine."
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Clefs are also folded under cross staff constructs."
}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "A clef can be folded below notes in a different staff, if
this does not disrupt the flow of the notes."
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "A clef can be folded below notes in a different staff, if
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Voices that go back and forth between staves do not confuse the spacing engine."
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Spacing uses the duration of the notes, but disregards
run are spaced accordingly. "
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
}
-\version "2.11.51"
+\version "2.12.0"
\paper
{
texidoc = "accidentals may be folded under preceding notes."
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Spacing corrections for kneed beams still work when compression is involved."
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "For knees, the spacing correction is such that the
}
-\version "2.11.51"
+\version "2.12.0"
%% \new Staff cause shortlived, disconnected Voice contexts
}
-\version "2.11.51"
+\version "2.12.0"
\new Score \with {
\override SpacingSpanner #'strict-grace-spacing = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
-\version "2.11.51"
+\version "2.12.0"
\header{
}
\layout { ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
{
\time 2/4
\repeat "percent" 3 { c'4 }
-\version "2.11.51"
+\version "2.12.0"
\paper {ragged-right = ##t}
\header {
texidoc = "The spacing engine avoids collisions between non-adjacent columns."
-\version "2.11.51"
+\version "2.12.0"
\paper {ragged-right = ##t}
\header {
texidoc = "The spacing engine avoids collisions between non-adjacent columns."
-\version "2.11.51"
+\version "2.12.0"
\header {
"
}
-\version "2.11.51"
+\version "2.12.0"
\relative {
\override Score.SpacingSpanner #'packed-spacing = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Rests get a little less space, since they are narrower.
However, the quarter rest in feta font is relatively wide, causing this
{
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\relative {
\time 2/4
c4 c8 c
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Notes that are shorter than the common shortest note get a
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "When space-to-barline is false, we measure the space between the note and the
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Upstem notes before a barline are printed with some extra
-\version "2.11.51"
+\version "2.12.0"
\header{
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "For juxtaposed chords with the same direction, a
slight optical correction is used. It is constant, and works only if
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
<<
\override Score.SpacingSpanner #'strict-grace-spacing = ##t
-\version "2.11.50"
+\version "2.12.0"
\header {
texidoc = "An empty barline does not confuse the spacing engine too much.
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc ="Space from a normal note (or barline) to a grace note is
}
-\version "2.11.51"
+\version "2.12.0"
\relative c''
<<
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Span bars can be turned on/off on a staff-by-staff basis."
}
the accidentals should not collide with the bar lines."
}
-\version "2.11.51"
+\version "2.12.0"
upper = \relative c' {
\key f \minor \time 12/8
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Span bars are drawn only between staff bar lines. By setting
bar lines to transparent, they are shown only between systems.
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-bottom = ##t }
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc = "Staves can be started and stopped at command. "
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\new Staff \relative c' {
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
-\version "2.11.55"
+\version "2.12.0"
\header {
texidoc = "Symbols that need on-staffline info (like dots and ties)
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "The staff is a grob (graphical object) which may be adjusted as well, for example, to have 6 thick lines and a slightly large @code{staff-space}.
-\version "2.11.51"
+\version "2.12.0"
\header { texidoc = "Stanza numbers are put left of their lyric. They
are aligned in a column." }
}
-\version "2.11.51"
+\version "2.12.0"
\relative c'' \new Voice \with {
\consists "Melody_engraver"
\override Stem #'neutral-direction = #'()
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
-\version "2.11.51"
+\version "2.12.0"
\header {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Stemlets don't cause stems on whole notes."
}
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
\relative {
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
\relative c
{
tilted extra on stem-down notes with a flag."
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##T
}
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
Stem tremolos or rolls are tremolo signs that look like beam segments
texidoc = "Combinations of rotation and color do work."
}
-\version "2.11.51"
+\version "2.12.0"
\relative c'{
\override Hairpin #'rotation = #'(20 -1 0)
\override Hairpin #'color = #(x11-color 'LimeGreen)
-\version "2.11.51"
+\version "2.12.0"
\header { texidoc=" You can write stencil callbacks in Scheme, thus
providing custom glyphs for notation elements. A simple example is
-\version "2.11.57"
+\version "2.12.0"
\header {
texidoc = "String numbers should only be moved outside slurs when there
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "The size of every system is correctly determined; this
-\version "2.11.51"
+\version "2.12.0"
\header { texidoc = "By setting between-system-padding to a negative
value, it is possible to eliminate the anti-collision constraints.
Then setting @code{between-system-space} to a low (nonzero) value,
-\version "2.11.64"
+\version "2.12.0"
\header {
texidoc = "System separators may be defined as markups in the
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "A piano context included within a staff group should
cause the piano brace to be drawn to the left of the staff angle
\header { texidoc = "A heavy-bar system start delimiter may be created by tuning the @code{SystemStartBar} grob."
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
created with the @code{systemStartDelimiterHierarchy} property."
}
-\version "2.11.56"
+\version "2.12.0"
\paper {
ragged-right = ##t
-\version "2.11.51"
+\version "2.12.0"
\header
{
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Harmonics get angled brackets in tablature"
texidoc = "Tab supports slides."
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##T
}
}
-\version "2.11.51"
+\version "2.12.0"
\new TabStaff {
-\version "2.11.51"
+\version "2.12.0"
\header{ texidoc = "@cindex Tabulature
A sample tablature, with both normal staff and tab.
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "The @code{\\tag} command marks music expressions with a
}
-\version "2.11.51"
+\version "2.12.0"
#(define time (gettimeofday))
ragged-right = ##t
}
-\version "2.11.65"
+\version "2.12.0"
<<
\new Staff {
\override TextSpanner #'(bound-details left text) = "*"
}
-\version "2.11.65"
+\version "2.12.0"
sample = \relative c'' {
c2\startTextSpan c2 \break
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc= "Text spanners should not repeat start text when broken."
}
" }
-\version "2.11.51"
+\version "2.12.0"
\paper {
debug-tie-scoring = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\layout { ragged-right = ##t }
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
\relative {
-\version "2.11.51"
+\version "2.12.0"
\header {
in other staves."
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
texidoc = "Ties behave properly at line breaks."
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
-\version "2.11.65"
+\version "2.12.0"
\header { texidoc = "
}
-\version "2.11.51"
+\version "2.12.0"
\paper
{
{
texidoc = "Individual chord notes can also be tied"
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
indent = #0.0
-\version "2.11.51"
+\version "2.12.0"
\header {
This makes correction in complex chords easier."
}
-\version "2.11.51"
+\version "2.12.0"
\paper
{
ragged-right= ##t
texidoc = "Ties avoid collisions with dots."
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##T }
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Tying a grace to a following grace or main note works."
}
-\header {
-
+\version "2.12.0"
+\header {
texidoc = "If using integers, the tie will vertically tuned for
staff line avoidance. If using a floating point number, this is taken
as the exact location."
-
}
-\version "2.11.51"
-
-\layout {
- ragged-right = ##t
-}
-
-\version "2.11.51"
\relative c'' {
\override Tie #'staff-position = #3
d4 ~
\override Tie #'staff-position = #3.0
d ~
d
- }
+}
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\layout{ragged-right=##t}
{
}
-\version "2.11.51"
+\version "2.12.0"
\paper
{
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
frag =
\relative c'' {
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
\relative
-\version "2.11.51"
+\version "2.12.0"
testMusic = { << c''4 \\ g'4 >> }
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "A table of contents is included using
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "
texidoc = "Trill spanner can end on a grace note"
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
ragged-right = ##T
}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Pitched trills on consecutive notes with the same
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Pitched trill accidentals can be forced."
-\version "2.11.51"
+\version "2.12.0"
\header {
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t }
\relative c'' {
c1\startTrillSpan
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "In combination with a beam, the bracket of the tuplet
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\paper {
ragged-right = ##t
attaching column for a full-length tuplet bracket can be ignored."
}
-\version "2.11.55"
+\version "2.12.0"
\new Staff {
\set tupletFullLength = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\new RhythmicStaff {
\set tupletFullLength = ##t
start of the next non-tuplet note. "
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t
indent = 0.0 }
}
-\version "2.11.51"
+\version "2.12.0"
\layout {
indent = 0.0\mm
}
-\version "2.11.51"
+\version "2.12.0"
\paper{
ragged-right=##t
}
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc=" Tuplets may be nested."
}
-\version "2.11.51"
+\version "2.12.0"
\layout{
\context{
}
-\version "2.11.51"
+\version "2.12.0"
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Tuplets may contain rests. "
texidoc = "Show tuplet numbers also on single-note tuplets (otherwise the timing would look messed up!), but don't show a bracket. Make sure that tuplets without any notes don't show any number, either."
}
-\version "2.11.51"
+\version "2.12.0"
\paper { ragged-right = ##t
indent = 0.0 }
ragged-right = ##t
}
-\version "2.11.51"
+\version "2.12.0"
\new Voice {
\relative c'' {
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Horizontal tuplet brackets are shifted vertically
-\version "2.11.51"
+\version "2.12.0"
\header{
texidoc="
}
-\version "2.11.51"
+\version "2.12.0"
\markup { "Здравствуйт Hallo" }
-\version "2.11.51"
+\version "2.12.0"
%% Edit this file using a Unicode aware editor, such as GVIM, GEDIT, Emacs
-\version "2.11.51"
+\version "2.12.0"
\header { texidoc= "
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc ="Broken volta spanners behave correctly at their left edge in all cases."
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "Volte using @code{repeatCommands} can have markup
}
}
-\version "2.11.51"
+\version "2.12.0"
vmus = { \repeat volta 2 c1 \alternative { d e } }
}
\layout { ragged-right = ##t }
-\version "2.11.51"
+\version "2.12.0"
vmus = { \repeat volta 2 c1 \alternative { d e } }
-\version "2.11.51"
+\version "2.12.0"
\header {
texidoc = "If you specify two different key signatures at one point, a
since staff lines are in a lower layer than most other grobs. "
}
-\version "2.11.51"
+\version "2.12.0"
\paper
{
%% sakura-sakura.ly
-\version "2.11.61"
+\version "2.12.0"
\header {
>>
%% Optional helper for automatic updating by convert-ly. May be omitted.
-\version "2.11.61"
+\version "2.12.0"
}
%% Optional helper for automatic updating by convert-ly. May be omitted.
-\version "2.11.61"
+\version "2.12.0"
texidoces = "
-Este ejemplo muestra cómo hacer una transcripción moderna de Canto
-Gregoriano. El Canto Gregoriano no tiene compás ni plicas; utiliza
+Este ejemplo muestra cómo hacer una transcripción moderna de canto
+gregoriano. El canto gregoriano no tiene compás ni plicas; utiliza
solamente cabezas de nota de blanca y de negra, y unas marcas
especiales que indican silencios de distintas longitudes.
"
- doctitlees = "Plantilla para notación de música antigua (transcripción moderna de Canto Gregoriano)"
+ doctitlees = "Plantilla para notación de música antigua (transcripción moderna de canto gregoriano)"
texidocde = "
Dieses Beispiel zeigt eine moderne Transkription des Gregorianischen
texidoces = "
El glifo de la marca de respiración se puede ajustar
-sobreescribiendo la proopiedad de texto del objeto de presentación
+sobreescribiendo la propiedad de texto del objeto de presentación
@code{BreathingSign}, con cualquier otro texto de marcado.
"
@code{\\partcombine}) permite la combinación de varias partes
diferentes sobre el mismo pentagrama. Las indicaciones textuales
tales como \"solo\" o \"a2\" se añaden de forma predeterminada;
-para quitarlas, sencillamente establezca la proopiedad
+para quitarlas, sencillamente establezca la propiedad
@code{printPartCombineTexts} al valor \"falso\". Para partituras
vocales (como himnos), no hay necesidad de añadir los textos
\"solo\" o \"a2\", por lo que se deben desactivar. Sin embargo,
valores predeterminados. Se pueden modificar estos valores
predeterminados para las abreviaturas. Por ejemplo, para asociar
la abreviatura @code{-+} (@code{dashPlus}) con el símbolo del
-semitrino en lugar del símboloo predeterminado +, asigne el valor
+semitrino en lugar del símbolo predeterminado +, asigne el valor
@code{trill} a la variable @code{dashPlus}:
"
-\version "2.11.61"
+\version "2.12.0"
\header{
filename = "twinkle-pop.ly"
composer = "traditional"
}
-\version "2.11.61"
+\version "2.12.0"
ignoreMelisma = \set ignoreMelismata = ##t
ignoreMelismaOff = \unset ignoreMelismata
-\version "2.11.61"
+\version "2.12.0"
\header {
texidoc = "Wilhelmus van Nassouwe"
%% hai2zi5: child,
%% guai1-guai1: well-behaved)
-\version "2.11.61"
+\version "2.12.0"
\header {
title = "小孩子乖乖"
}
Grob *
-Accidental_engraver::make_standard_accidental (Stream_event *note,
+Accidental_engraver::make_standard_accidental (Stream_event * /* note */,
Grob *note_head,
Engraver *trans,
bool cautionary)
{
- (void)note;
-
/*
We construct the accidentals at the originating Voice
level, so that we get the property settings for
}
Grob *
-Accidental_engraver::make_suggested_accidental (Stream_event *note,
+Accidental_engraver::make_suggested_accidental (Stream_event * /* note */,
Grob *note_head,
Engraver *trans)
{
- (void) note;
-
Grob *a = trans->make_item ("AccidentalSuggestion", note_head->self_scm ());
Side_position_interface::add_support (a, note_head);
#include "all-font-metrics.hh"
+#include "string-convert.hh"
#include "international.hh"
#include "main.hh"
#include "open-type-font.hh"
Index_to_charcode_map const *
-All_font_metrics::get_index_to_charcode_map (string filename, FT_Face face)
+All_font_metrics::get_index_to_charcode_map (string filename,
+ int face_index,
+ FT_Face face)
{
- if (filename_charcode_maps_map_.find (filename)
+ string key = filename + String_convert::int_string (face_index);
+ if (filename_charcode_maps_map_.find (key)
== filename_charcode_maps_map_.end ())
- filename_charcode_maps_map_[filename] = make_index_to_charcode_map (face);
+ filename_charcode_maps_map_[key] = make_index_to_charcode_map (face);
- return &filename_charcode_maps_map_[filename];
+ return &filename_charcode_maps_map_[key];
}
void
-Auto_beam_engraver::acknowledge_beam (Grob_info info)
+Auto_beam_engraver::acknowledge_beam (Grob_info /* info */)
{
- (void)info;
check_bar_property ();
if (stems_)
end_beam ();
}
void
-Auto_beam_engraver::acknowledge_bar_line (Grob_info info)
+Auto_beam_engraver::acknowledge_bar_line (Grob_info /* info */)
{
- (void)info;
check_bar_property ();
if (stems_)
end_beam ();
}
void
-Auto_beam_engraver::acknowledge_rest (Grob_info info)
+Auto_beam_engraver::acknowledge_rest (Grob_info /* info */)
{
- (void)info;
check_bar_property ();
if (stems_)
end_beam ();
}
else if (str == "'")
{
- m = tick_bar_line (me, hair, h, rounded);
+ m = tick_bar_line (me, h, rounded);
}
else if (str == ".")
{
}
Stencil
-Bar_line::tick_bar_line (Grob *me, Real w, Real h, bool rounded)
+Bar_line::tick_bar_line (Grob *me, Real h, bool rounded)
{
Real th = Staff_symbol_referencer::staff_space (me) / 2;
Real line_thick = Staff_symbol_referencer::line_thickness (me);
*/
MAKE_SCHEME_CALLBACK (Beam, calc_least_squares_positions, 2);
SCM
-Beam::calc_least_squares_positions (SCM smob, SCM posns)
+Beam::calc_least_squares_positions (SCM smob, SCM /* posns */)
{
- (void) posns;
-
Grob *me = unsmob_grob (smob);
int count = normal_stem_count (me);
{
Paper_book *paper_book_part = book->process (paper, layout, output_paper_book);
if (paper_book_part)
- output_paper_book->add_bookpart (paper_book_part->self_scm ());
+ {
+ output_paper_book->add_bookpart (paper_book_part->self_scm ());
+ paper_book_part->unprotect ();
+ }
}
}
+ /* In a Paper_book, bookparts are stored in straight order */
+ output_paper_book->bookparts_ = scm_reverse_x (output_paper_book->bookparts_, SCM_EOL);
}
void
IMPLEMENT_DEFAULT_EQUAL_P (Box);
SCM
-Box::mark_smob (SCM x)
+Box::mark_smob (SCM /* x */)
{
- (void)x;
return SCM_EOL;
}
int
-Box::print_smob (SCM x, SCM p, scm_print_state*)
+Box::print_smob (SCM /* x */, SCM p, scm_print_state*)
{
- (void)x;
scm_puts ("#<Box>", p);
return 1;
}
}
}
-Context::Context (Context const &src)
+Context::Context (Context const & /* src */)
{
- (void) src;
assert (false);
}
}
void
-Custos_engraver::acknowledge_bar (Grob_info info)
+Custos_engraver::acknowledge_bar (Grob_info /* info */)
{
- (void) info;
custos_permitted_ = true;
}
(c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
+#include <cstdio>
#include "dot-configuration.hh"
#include "dot-formatting-problem.hh"
#include "staff-symbol-referencer.hh"
int dots = 0;
if (dotcount != SCM_UNDEFINED)
{
- LY_ASSERT_TYPE (scm_is_integer, dotcount,2);
+ LY_ASSERT_TYPE (scm_is_integer, dotcount, 2);
dots = scm_to_int (dotcount);
}
#endif
Grob *
-Engraver::internal_make_grob (SCM symbol, SCM cause, char const *name, char const *file, int line, char const *fun)
+Engraver::internal_make_grob (SCM symbol,
+ SCM cause,
+ char const * /* name */,
+ char const *file,
+ int line,
+ char const *fun)
{
- (void) file;
- (void) fun;
- (void) line;
- (void) name;
-
+#ifdef NDEBUG
+ (void)file;
+ (void)line;
+ (void)fun;
+#endif
+
SCM props = updated_grob_properties (context (), symbol);
Grob *grob = 0;
}
void
-Figured_bass_position_engraver::acknowledge_end_bass_figure_alignment (Grob_info info)
+Figured_bass_position_engraver::acknowledge_end_bass_figure_alignment (Grob_info /* info */)
{
- (void)info;
stop_spanner ();
}
IMPLEMENT_TRANSLATOR_LISTENER (Fingering_engraver, stroke_finger);
void
-Fingering_engraver::listen_stroke_finger (Stream_event *ev)
+Fingering_engraver::listen_stroke_finger (Stream_event * /* ev */)
{
/*
FIXME: should do something.
This function is mainly here to shut up a warning
*/
- (void)ev;
}
void
font = FcNameUnparse (fs->fonts[j]);
if (FcPatternGetString (fs->fonts[j], FC_FILE, 0, &str) == FcResultMatch)
retval += String_convert::form_string ("FILE %s\n", str);
+ if (FcPatternGetString (fs->fonts[j], FC_INDEX, 0, &str) == FcResultMatch)
+ retval += String_convert::form_string ("INDEX %s\n", str);
if (FcPatternGetString (fs->fonts[j], FC_FAMILY, 0, &str) == FcResultMatch)
retval += String_convert::form_string ("family %s\n ", str);
if (FcPatternGetString (fs->fonts[j],
#if HAVE_FONTCONFIG
+#include <cstdio>
#include <fontconfig/fontconfig.h>
#include <sys/stat.h>
}
Stencil
-Font_metric::text_stencil (string str) const
+Font_metric::text_stencil (string /* str */) const
{
- (void) str;
programming_error("Cannot get a text stencil from this font");
return Stencil (Box (), SCM_EOL);
}
}
static SCM
-accumulate_symbol (void *closure, SCM key, SCM val, SCM result)
+accumulate_symbol (void * /* closure */,
+ SCM key,
+ SCM /* val */,
+ SCM result)
{
- (void) closure;
- (void) val;
return scm_cons (key, result);
}
All_font_metrics (All_font_metrics const &);
public:
- Index_to_charcode_map const *get_index_to_charcode_map (string filename, FT_Face face);
+ Index_to_charcode_map const *get_index_to_charcode_map (string filename,
+ int face_index,
+ FT_Face face);
All_font_metrics (string search_path);
~All_font_metrics ();
DECLARE_GROB_INTERFACE();
static Stencil dashed_bar_line (Grob *me, Real h, Real thick);
- static Stencil tick_bar_line (Grob *me, Real w, Real h, bool rounded);
+ static Stencil tick_bar_line (Grob *me, Real h, bool rounded);
static Stencil compound_barline (Grob *, string, Real height, bool rounded);
static Stencil simple_barline (Grob *, Real wid, Real height, bool rounded);
static Interval bar_y_extent (Grob *, Grob *);
void init_freetype ();
extern FT_Library freetype2_library;
-FT_Face open_ft_face (string str);
-
string freetype_error_string (int code);
#endif /* FREETYPE_HH */
-
};
string get_otf_table (FT_Face face, string tag);
-FT_Face open_ft_face (string str);
+FT_Face open_ft_face (string str, FT_Long idx = 0);
#endif /* OPEN_TYPE_FONT_HH */
string description_string () const;
SCM font_file_name () const;
- void register_font_file (string, string);
+ void register_font_file (string, string, int);
Stencil text_stencil (string, bool tight) const;
Stencil pango_item_string_stencil (PangoItem const *, string, bool tight) const;
}
void
-Key_engraver::acknowledge_clef (Grob_info info)
+Key_engraver::acknowledge_clef (Grob_info /* info */)
{
- (void)info;
SCM c = get_property ("createKeyOnClefChange");
if (to_boolean (c))
create_key (false);
}
void
-Key_engraver::acknowledge_bar_line (Grob_info info)
+Key_engraver::acknowledge_bar_line (Grob_info /* info */)
{
- (void)info;
if (scm_is_pair (get_property ("keySignature")))
create_key (true);
}
}
static SCM
-entry_to_alist (void *closure, SCM key, SCM val, SCM result)
+entry_to_alist (void * /* closure */,
+ SCM key,
+ SCM val,
+ SCM result)
{
- (void) closure;
if (scm_variable_bound_p (val) == SCM_BOOL_T)
return scm_cons (scm_cons (key, scm_variable_ref (val)), result);
programming_error ("unbound variable in module");
#ifdef MODULE_GC_KLUDGE
static SCM
-redefine_keyval (void *closure, SCM key, SCM val, SCM result)
+redefine_keyval (void * /* closure */,
+ SCM key,
+ SCM val,
+ SCM result)
{
- (void)closure;
SCM new_tab = result;
scm_hashq_set_x (new_tab, key, val);
return new_tab;
}
void
-Lyric_combine_music_iterator::process (Moment when)
+Lyric_combine_music_iterator::process (Moment /* when */)
{
- (void) when;
-
/* see if associatedVoice has been changed */
Context *new_voice = find_voice ();
if (new_voice)
#include <clocale>
#include <cstring>
#include <cerrno>
+#include <cstdio>
using namespace std;
#include <unistd.h>
void
-Melody_engraver::acknowledge_slur (Grob_info info)
+Melody_engraver::acknowledge_slur (Grob_info /* info */)
{
- (void)info;
melody_item_ = 0;
}
#include "paper-book.hh"
static bool
-is_break (Grob *g)
+is_break (Grob *)
{
- (void) g; /* shutup warning */
return false;
}
*/
static SCM
-module_define_closure_func (void *closure, SCM key, SCM val, SCM result)
+module_define_closure_func (void *closure,
+ SCM key,
+ SCM val,
+ SCM /* result */)
{
- (void) result;
SCM module = (SCM) closure;
if (scm_variable_bound_p (val) == SCM_BOOL_T)
scm_module_define (module, key, scm_variable_ref (val));
"TextSpanner ",
/* read */
- "currentMusicalColumn ",
+ "crescendoSpanner "
+ "crescendoText "
+ "currentMusicalColumn "
+ "decrescendoSpanner "
+ "decrescendoText ",
/* write */
""
void
New_fingering_engraver::add_script (Grob *head,
Stream_event *event,
- Stream_event *note)
+ Stream_event * /* note */)
{
- (void) note;
-
Finger_tuple ft;
Grob *g = make_item ("Script", event->self_scm ());
}
FT_Face
-open_ft_face (string str)
+open_ft_face (string str, FT_Long idx)
{
FT_Face face;
- int error_code = FT_New_Face (freetype2_library, str.c_str (), 0, &face);
+ int error_code = FT_New_Face (freetype2_library, str.c_str (), idx, &face);
if (error_code == FT_Err_Unknown_File_Format)
error (_f ("unsupported font format: %s", str.c_str ()));
else if (error_code)
error (_f ("error reading font file %s: %s",
str.c_str (),
- freetype_error_string (error_code).c_str ()
- ));
+ freetype_error_string (error_code).c_str ()));
return face;
}
#include "system.hh"
static bool
-is_break (Grob *g)
+is_break (Grob *)
{
- (void) g; /* shutup warning */
return false;
}
Output_def * def = unsmob_output_def (s);
scm_puts ("#< ", p);
scm_puts (def->class_name (), p);
-
- (void)def;
scm_puts (">", p);
return 1;
}
*/
#include "page-spacing-result.hh"
+#include <cstdio>
Page_spacing_result::Page_spacing_result ()
{
LY_DEFINE (ly_pango_font_physical_fonts, "ly:pango-font-physical-fonts",
1, 0, 0,
(SCM f),
- "Return alist of @code{(PSNAME . FILENAME)} tuples.")
+ "Return alist of @code{(ps-name file-name font-index)} lists"
+ " for Pango font@tie{}@var{f}.")
{
Pango_font *pf = dynamic_cast<Pango_font *> (unsmob_metrics (f));
#include <freetype/ftxf86.h>
#include <map>
+#include <cstdio>
-/* Ugh. */
+// Ugh.
#include "pango-font.hh"
#include "dimensions.hh"
#if HAVE_PANGO_FT2
#include "stencil.hh"
-Pango_font::Pango_font (PangoFT2FontMap *fontmap,
+Pango_font::Pango_font (PangoFT2FontMap * /* fontmap */,
PangoFontDescription const *description,
Real output_scale)
{
- (void) fontmap;
-
physical_font_tab_ = scm_c_make_hash_table (11);
PangoDirection pango_dir = PANGO_DIRECTION_LTR;
- context_
- = pango_ft2_get_context (PANGO_RESOLUTION, PANGO_RESOLUTION);
+ context_ = pango_ft2_get_context (PANGO_RESOLUTION,
+ PANGO_RESOLUTION);
pango_description_ = pango_font_description_copy (description);
attribute_list_ = pango_attr_list_new ();
- /*
- urgh. I don't understand this. Why isn't this 1/(scale *
- resolution * output_scale)
-
- --hwn
- */
+ // urgh. I don't understand this. Why isn't this 1/(scale *
+ // resolution * output_scale)
+ //
+ // --hwn
output_scale_ = output_scale;
- scale_ = INCH_TO_BP / (Real (PANGO_SCALE) * Real (PANGO_RESOLUTION) * output_scale);
+ scale_ = INCH_TO_BP
+ / (Real (PANGO_SCALE) * Real (PANGO_RESOLUTION) * output_scale);
- /*
- ugh. Should make this configurable.
- */
+ // ugh. Should make this configurable.
pango_context_set_language (context_, pango_language_from_string ("en_US"));
pango_context_set_base_dir (context_, pango_dir);
pango_context_set_font_description (context_, description);
}
void
-Pango_font::register_font_file (string filename, string ps_name)
+Pango_font::register_font_file (string filename,
+ string ps_name,
+ int face_index)
{
scm_hash_set_x (physical_font_tab_,
ly_string2scm (ps_name),
- ly_string2scm (filename));
+ scm_list_2 (ly_string2scm (filename),
+ scm_from_int (face_index)));
}
void
scm_gc_mark (physical_font_tab_);
}
-
void
-get_glyph_index_name (char *s, FT_ULong code)
+get_glyph_index_name (char *s,
+ FT_ULong code)
{
sprintf (s, "glyphIndex%lX", code);
}
void
-get_unicode_name (char*s, FT_ULong code)
+get_unicode_name (char *s,
+ FT_ULong code)
{
if (code > 0xFFFF)
- sprintf (s, "u%lX", code);
+ sprintf (s, "u%lX", code);
else
- sprintf (s, "uni%04lX", code);
+ sprintf (s, "uni%04lX", code);
}
-
Stencil
-Pango_font::pango_item_string_stencil (PangoItem const *item, string str,
+Pango_font::pango_item_string_stencil (PangoItem const *item,
+ string str,
bool tight_bbox) const
{
const int GLYPH_NAME_LEN = 256;
char glyph_name[GLYPH_NAME_LEN];
PangoAnalysis const *pa = &(item->analysis);
PangoGlyphString *pgs = pango_glyph_string_new ();
-
+
pango_shape (str.c_str () + item->offset,
item->length, (PangoAnalysis*) pa, pgs);
FT_Face ftface = pango_fc_font_lock_face (fcfont);
- PangoRectangle const *which_rect
- = (tight_bbox)
- ? &ink_rect
- : &logical_rect;
-
+ PangoRectangle const *which_rect = tight_bbox ? &ink_rect
+ : &logical_rect;
+
Box b (Interval (PANGO_LBEARING (logical_rect),
PANGO_RBEARING (logical_rect)),
Interval (-PANGO_DESCENT (*which_rect),
PANGO_ASCENT (*which_rect)));
-
b.scale (scale_);
+
char const *ps_name_str0 = FT_Get_Postscript_Name (ftface);
FcPattern *fcpat = fcfont->font_pattern;
+
FcChar8 *file_name_as_ptr = 0;
FcPatternGetString (fcpat, FC_FILE, 0, &file_name_as_ptr);
+ // due to a bug in FreeType 2.3.7 and earlier we can't use
+ // ftface->face_index; it is always zero for some font formats,
+ // in particular TTCs which we are interested in
+ int face_index = 0;
+ FcPatternGetInteger (fcpat, FC_INDEX, 0, &face_index);
+
string file_name;
if (file_name_as_ptr)
- {
- /* Normalize file name. */
- file_name = File_name ((char const *)file_name_as_ptr).to_string ();
- }
-
+ // Normalize file name.
+ file_name = File_name ((char const *)file_name_as_ptr).to_string ();
+
SCM glyph_exprs = SCM_EOL;
SCM *tail = &glyph_exprs;
-
+
Index_to_charcode_map const *cmap = 0;
bool has_glyph_names = ftface->face_flags & FT_FACE_FLAG_GLYPH_NAMES;
- if (! has_glyph_names)
- cmap = all_fonts_global->get_index_to_charcode_map (file_name, ftface);
+ if (!has_glyph_names)
+ cmap = all_fonts_global->get_index_to_charcode_map (
+ file_name, face_index, ftface);
bool is_ttf = string (FT_Get_X11_Font_Format (ftface)) == "TrueType";
bool cid_keyed = false;
+
for (int i = 0; i < pgs->num_glyphs; i++)
{
PangoGlyphInfo *pgi = pgs->glyphs + i;
glyph_name[0] = '\0';
if (has_glyph_names)
{
- int errorcode = FT_Get_Glyph_Name (ftface, pg, glyph_name, GLYPH_NAME_LEN);
+ int errorcode = FT_Get_Glyph_Name (ftface, pg, glyph_name,
+ GLYPH_NAME_LEN);
if (errorcode)
- programming_error (_f ("FT_Get_Glyph_Name () error: %s",
- freetype_error_string (errorcode).c_str ()
- ));
+ programming_error (
+ _f ("FT_Get_Glyph_Name () error: %s",
+ freetype_error_string (errorcode).c_str ()));
}
SCM char_id = SCM_EOL;
get_unicode_name (glyph_name, char_code);
}
- if (glyph_name[0] == '\0' && has_glyph_names)
+ if (glyph_name[0] == '\0' && has_glyph_names)
{
- programming_error (_f ("Glyph has no name, but font supports glyph naming.\n"
- "Skipping glyph U+%0X, file %s",
- pg,
- file_name.c_str ()));
+ programming_error (
+ _f ("Glyph has no name, but font supports glyph naming.\n"
+ "Skipping glyph U+%0X, file %s",
+ pg, file_name.c_str ()));
continue;
}
-
if (glyph_name == string (".notdef") && is_ttf)
glyph_name[0] = '\0';
-
+
if (glyph_name[0] == '\0' && is_ttf)
- {
- // access by glyph index directly.
- get_glyph_index_name (glyph_name, pg);
- }
-
+ // Access by glyph index directly.
+ get_glyph_index_name (glyph_name, pg);
+
if (glyph_name[0] == '\0')
{
- /*
- CID entry
- */
+ // CID entry
cid_keyed = true;
char_id = scm_from_uint32 (pg);
}
else
char_id = scm_from_locale_string (glyph_name);
-
+
*tail = scm_cons (scm_list_4 (scm_from_double (ggeo.width * scale_),
scm_from_double (ggeo.x_offset * scale_),
scm_from_double (ggeo.y_offset * scale_),
-
char_id),
SCM_EOL);
tail = SCM_CDRLOC (*tail);
}
- pango_glyph_string_free (pgs);
+ pango_glyph_string_free (pgs);
pgs = 0;
PangoFontDescription *descr = pango_font_describe (pa->font);
Real size = pango_font_description_get_size (descr)
- / (Real (PANGO_SCALE));
-
+ / (Real (PANGO_SCALE));
if (!ps_name_str0)
warning (_f ("no PostScript font name for font `%s'", file_name));
&& (file_name.find (".otf") != NPOS
|| file_name.find (".cff") != NPOS))
{
-
- /* UGH: kludge a PS name for OTF/CFF fonts. */
+ // UGH: kludge a PS name for OTF/CFF fonts.
string name = file_name;
ssize idx = file_name.find (".otf");
if (idx == NPOS)
ssize slash_idx = name.rfind ('/');
if (slash_idx != NPOS)
{
- slash_idx ++;
+ slash_idx ++;
name = name.substr (slash_idx,
name.length () - slash_idx);
}
-
+
string initial = name.substr (0, 1);
initial = String_convert::to_upper (initial);
name = name.substr (1, name.length () - 1);
if (ps_name.length ())
{
- ((Pango_font *) this)->register_font_file (file_name, ps_name);
+ ((Pango_font *) this)->register_font_file (file_name,
+ ps_name,
+ face_index);
pango_fc_font_unlock_face (fcfont);
SCM expr = scm_list_5 (ly_symbol2scm ("glyph-string"),
return physical_font_tab_;
}
-
Stencil
Pango_font::word_stencil (string str) const
{
return text_stencil (str, true);
}
-
+
Stencil
Pango_font::text_stencil (string str) const
{
}
Stencil
-Pango_font::text_stencil (string str, bool tight) const
+Pango_font::text_stencil (string str,
+ bool tight) const
{
GList *items
= pango_itemize (context_,
if (item->analysis.level == PANGO_DIRECTION_RTL)
text_dir = LEFT;
}
-
+
for (GList *ptr = items; ptr; ptr = ptr->next)
{
PangoItem *item = (PangoItem *) ptr->data;
last_x = item_stencil.extent (X_AXIS)[RIGHT];
}
else if (text_dir == LEFT)
- {
- dest.translate_axis (item_stencil.extent (X_AXIS)[RIGHT], X_AXIS);
- }
+ dest.translate_axis (item_stencil.extent (X_AXIS)[RIGHT], X_AXIS);
-#if 0 /* Check extents. */
+#if 0 // Check extents.
if (!item_stencil.extent_box ()[X_AXIS].is_empty ())
{
Stencil frame = Lookup::frame (item_stencil.extent_box (), 0.1, 0.1);
dest.add_stencil (frame);
}
#endif
-
+
dest.add_stencil (item_stencil);
}
- /*
- UGH. Should have flags per output format signifying supported
- options.
- */
+ // UGH. Should have flags per output format signifying supported
+ // options.
string name = get_output_backend_name ();
if (name != "ps" && name != "eps")
{
- /*
- For Pango based backends, we take a shortcut.
- */
- SCM exp
- = scm_list_3 (ly_symbol2scm ("utf-8-string"),
- ly_string2scm (description_string ()),
- ly_string2scm (str));
+ // For Pango based backends, we take a shortcut.
+ SCM exp = scm_list_3 (ly_symbol2scm ("utf-8-string"),
+ ly_string2scm (description_string ()),
+ ly_string2scm (str));
Box b (Interval (0, 0), Interval (0, 0));
b.unite (dest.extent_box ());
return s;
}
-
SCM
Pango_font::font_file_name () const
{
return SCM_BOOL_F;
}
-#endif
+#endif // HAVE_PANGO_FT2
if (scm_is_pair (bookparts_))
{
- for (SCM p = scm_reverse (bookparts_); scm_is_pair (p); p = scm_cdr (p))
+ for (SCM p = bookparts_; scm_is_pair (p); p = scm_cdr (p))
if (Paper_book *pbookpart = unsmob_paper_book (scm_car (p)))
{
bool is_last_part = (is_last && !scm_is_pair (scm_cdr (p)));
systems_ = SCM_EOL;
if (scm_is_pair (bookparts_))
{
- for (SCM p = scm_reverse (bookparts_); scm_is_pair (p); p = scm_cdr (p))
+ for (SCM p = bookparts_; scm_is_pair (p); p = scm_cdr (p))
if (Paper_book *pbookpart = unsmob_paper_book (scm_car (p)))
systems_ = scm_append_x (scm_list_2 (systems_, pbookpart->systems ()));
}
pages_ = SCM_EOL;
if (scm_is_pair (bookparts_))
{
- for (SCM p = scm_reverse (bookparts_); scm_is_pair (p); p = scm_cdr (p))
+ for (SCM p = bookparts_; scm_is_pair (p); p = scm_cdr (p))
if (Paper_book *pbookpart = unsmob_paper_book (scm_car (p)))
pages_ = scm_append_x (scm_list_2 (pages_, pbookpart->pages ()));
}
}
int
-Paper_outputter::print_smob (SCM x, SCM p, scm_print_state*)
+Paper_outputter::print_smob (SCM /* x */,
+ SCM p,
+ scm_print_state *)
{
- (void) x;
scm_puts ("#<Paper_outputter>", p);
return 1;
}
SCM answer = SCM_UNSPECIFIED;
SCM form = scm_read (port);
- /* Reset read_buf for scm_ftell.
- Shouldn't scm_read () do this for us? */
- scm_fill_input (port);
SCM to = scm_ftell (port);
ps->nchars = scm_to_int (to) - scm_to_int (from);
}
void
-Prob::type_check_assignment (SCM sym, SCM val) const
+Prob::type_check_assignment (SCM, SCM) const
{
- (void) sym;
- (void) val;
+ /* empty */
}
SCM
MAKE_SCHEME_CALLBACK (Relative_octave_music, no_relative_callback, 2)
SCM
-Relative_octave_music::no_relative_callback (SCM music, SCM pitch)
+Relative_octave_music::no_relative_callback (SCM /* music */,
+ SCM pitch)
{
- (void)music;
return pitch;
}
MAKE_SCHEME_CALLBACK (Rest, pure_height, 3);
SCM
-Rest::pure_height (SCM smob, SCM start, SCM end)
+Rest::pure_height (SCM smob,
+ SCM /* start */,
+ SCM /* end */)
{
- (void) start;
- (void) end;
-
Grob *me = unsmob_grob (smob);
SCM m = brew_internal_stencil (me, false);
return ly_interval2scm (unsmob_stencil (m)->extent (Y_AXIS));
"Get the global default scale.")
{
return default_global_scale
- ? SCM_BOOL_F
- : default_global_scale->self_scm ();
+ ? default_global_scale->self_scm ()
+ : SCM_BOOL_F;
}
}
int
-Scale::print_smob (SCM x, SCM port, scm_print_state *)
+Scale::print_smob (SCM /* x */,
+ SCM port,
+ scm_print_state *)
{
- (void) x;
-
scm_puts ("#<Scale>", port);
return 1;
}
-
SCM
-Scale::mark_smob (SCM x)
+Scale::mark_smob (SCM)
{
- (void) x;
return SCM_UNSPECIFIED;
}
}
static SCM
-collect_handles (void *closure, SCM key, SCM value, SCM result)
+collect_handles (void * /* closure */,
+ SCM key,
+ SCM value,
+ SCM result)
{
- (void) closure;
return scm_acons(key, value, result);
}
#include "skyline.hh"
#include <deque>
+#include <cstdio>
#include "ly-smobs.icc"
}
Real
-Spacing_spanner::note_spacing (Grob *me, Grob *lc, Grob *rc,
+Spacing_spanner::note_spacing (Grob * /* me */,
+ Grob *lc,
+ Grob *rc,
Spacing_options const *options)
{
- (void) me;
-
Moment shortest_playing_len = 0;
SCM s = lc->get_property ("shortest-playing-duration");
IMPLEMENT_SIMPLE_SMOBS (Spring);
SCM
-Spring::mark_smob (SCM x)
+Spring::mark_smob (SCM)
{
- (void)x;
-
return SCM_UNSPECIFIED;
}
MAKE_SCHEME_CALLBACK (Stem, pure_height, 3)
SCM
-Stem::pure_height (SCM smob, SCM start, SCM end)
+Stem::pure_height (SCM smob,
+ SCM /* start */,
+ SCM /* end */)
{
- (void) start;
- (void) end;
-
Grob *me = unsmob_grob (smob);
Interval iv;
*/
+#include <cstdio>
#include "tie-formatting-problem.hh"
#include "axis-group-interface.hh"
}
SCM
-Engraver_dispatch_list::mark_smob (SCM x)
+Engraver_dispatch_list::mark_smob (SCM)
{
- (void)x;
return SCM_BOOL_F;
}
int
-Engraver_dispatch_list::print_smob (SCM x, SCM p, scm_print_state *)
+Engraver_dispatch_list::print_smob (SCM /* x */,
+ SCM p,
+ scm_print_state *)
{
- (void)x;
scm_puts ("#<Engraver_dispatch_list>", p);
return 1;
}
(c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
+#include <cstdio>
#include "freetype.hh"
#include <freetype/tttables.h>
+#include "international.hh"
#include "memory-stream.hh"
#include "warn.hh"
#include "lily-guile.hh"
}
static void
-create_type42_font (void *out, string name)
+create_type42_font (void *out, string name, int idx)
{
- FT_Face face = open_ft_face (name);
+ FT_Face face;
+
+ /* check whether font index is valid */
+ if (idx > 0)
+ {
+ face = open_ft_face (name, -1);
+ if (idx >= face->num_faces)
+ {
+ warning (_f ("font index %d too large for font `%s', using index 0",
+ idx, name.c_str()));
+ idx = 0;
+ }
+ FT_Done_Face (face);
+ }
+
+ face = open_ft_face (name, idx);
print_header (out, face);
print_body (out, face);
FT_Done_Face (face);
}
-
LY_DEFINE (ly_ttf_ps_name, "ly:ttf-ps-name",
- 1, 0, 0, (SCM ttf_file_name),
- "Extract the PostScript name from a TrueType font.")
+ 1, 1, 0, (SCM ttf_file_name, SCM idx),
+ "Extract the PostScript name from a TrueType font. The optional"
+ " @var{idx} argument is useful for TrueType collections (TTC)"
+ " only; it specifies the font index within the TTC. The default"
+ " value of @var{idx} is@tie{}0.")
{
LY_ASSERT_TYPE (scm_is_string, ttf_file_name, 1);
+
+ int i = 0;
+ if (idx != SCM_UNDEFINED)
+ {
+ LY_ASSERT_TYPE (scm_is_integer, idx, 2);
+ i = scm_to_int (idx);
+ if (i < 0)
+ {
+ warning (_ ("font index must be non-negative, using index 0"));
+ i = 0;
+ }
+ }
+
string file_name = ly_scm2string (ttf_file_name);
if (be_verbose_global)
progress_indication ("[" + file_name);
- FT_Face face = open_ft_face (file_name);
+ FT_Face face;
+
+ /* check whether font index is valid */
+ if (i > 0)
+ {
+ face = open_ft_face (file_name, -1);
+ if (i >= face->num_faces)
+ {
+ warning (_f ("font index %d too large for font `%s', using index 0",
+ i, file_name.c_str()));
+ i = 0;
+ }
+ FT_Done_Face (face);
+ }
+
+ face = open_ft_face (file_name, i);
char const *ps_name_str0 = FT_Get_Postscript_Name (face);
SCM ps_name = scm_from_locale_string (ps_name_str0 ? ps_name_str0 : "");
-
FT_Done_Face (face);
if (be_verbose_global)
return ps_name;
}
-
-
LY_DEFINE (ly_ttf_2_pfa, "ly:ttf->pfa",
- 1, 0, 0, (SCM ttf_file_name),
- "Convert the contents of a TTF file to Type42 PFA, returning it as"
- " a string.")
+ 1, 1, 0, (SCM ttf_file_name, SCM idx),
+ "Convert the contents of a TrueType font file to PostScript"
+ " Type@tie{}42 font, returning it as a string. The optional"
+ " @var{idx} argument is useful for TrueType collections (TTC)"
+ " only; it specifies the font index within the TTC. The default"
+ " value of @var{idx} is@tie{}0.")
{
LY_ASSERT_TYPE (scm_is_string, ttf_file_name, 1);
+ int i = 0;
+ if (idx != SCM_UNDEFINED)
+ {
+ LY_ASSERT_TYPE (scm_is_integer, idx, 2);
+ i = scm_to_int (idx);
+ if (i < 0)
+ {
+ warning (_ ("font index must be non-negative, using index 0"));
+ i = 0;
+ }
+ }
+
string file_name = ly_scm2string (ttf_file_name);
if (be_verbose_global)
progress_indication ("[" + file_name);
Memory_out_stream stream;
- create_type42_font (&stream, file_name);
+ create_type42_font (&stream, file_name, i);
SCM asscm = scm_from_locale_stringn (stream.get_string (),
stream.get_length ());
%}
-\version "2.11.65" % necessary for upgrading to future LilyPond versions.
+\version "2.12.0" % necessary for upgrading to future LilyPond versions.
\header{
title = "A scale in LilyPond"
For more information, visit http://lilypond.org .
%}
-\version "2.11.65" % necessary for upgrading to future LilyPond versions.
+\version "2.12.0" % necessary for upgrading to future LilyPond versions.
\header{
title = "A scale in LilyPond"
-\version "2.11.51"
+\version "2.12.0"
\include "italiano.ly"
%%%%%%%
$Id: bagpipe.ly,v 1.12 2006/03/16 14:39:46 hanwen Exp $
%}
-\version "2.10.0"
+\version "2.12.0"
% Notes of the scale of the Great Highland Bagpipe. Extra high notes for bombarde.
% Flat notes used mainly in some modern music.
pitchnames = \pitchnamesCatalan
-\version "2.10.0"
+\version "2.12.0"
#(ly:parser-set-note-names parser pitchnames)
-\version "2.10.0"
+\version "2.12.0"
chordmodifiers = #default-chord-modifier-list
-\version "2.10.0"
+\version "2.12.0"
%% < 1.8 compatibility switch
#(ly:set-option 'old-relative)
center = #0
%% FIXME
-%% should also set allowBeamBreak, but how to do it "portably"? (ie. also
+%% should also set \override Beam #'breakable, but how to do it "portably"? (ie. also
%% working with lyric sections)
%%
-%% try \once \set Score.allowBeamBreak = ##t
+%% try \once \override Score.Beam #'breakable = ##t
%% rather name \newline, \pageBreak ?
break = #(make-event-chord (list (make-music 'LineBreakEvent 'break-permission 'force)))
pitchnames = \pitchnamesDeutsch
-\version "2.10.0"
+\version "2.12.0"
#(ly:parser-set-note-names parser pitchnames)
-\version "2.10.0"
+\version "2.12.0"
drumPitchNames =
#'((acousticbassdrum . acousticbassdrum)
-\version "2.10.0"
+\version "2.12.0"
%
% declare the standard dynamic identifiers.
pitchnames = \pitchnamesEnglish
-\version "2.10.0"
+\version "2.12.0"
#(ly:parser-set-note-names parser pitchnames)
-\version "2.10.0"
+\version "2.12.0"
\context {
\name "Global"
markFormatter = #format-mark-letters
rehearsalMark = #1
subdivideBeams = ##f
- allowBeamBreak = ##f
extraNatural = ##t
autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave 0))
autoCautionaries = #'()
clefOctavation = #0
%% Select vaticana style font.
- \override KeySignature #'style = #'vaticana
+ \override KeySignature #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
\override Accidental #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
\override Custos #'style = #'vaticana
\override Custos #'neutral-position = #3
%% Select mensural style font.
\override TimeSignature #'style = #'mensural
- \override KeySignature #'style = #'mensural
+ \override KeySignature #'glyph-name-alist = #alteration-mensural-glyph-name-alist
\override Accidental #'glyph-name-alist = #alteration-mensural-glyph-name-alist
\override Custos #'style = #'mensural
\override Custos #'neutral-position = #3
pitchnames = \pitchnamesEspanol
-\version "2.10.0"
+\version "2.12.0"
#(ly:parser-set-note-names parser pitchnames)
% along with this program; if not, write to the Free Software
% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-\version "2.11.11"
+\version "2.12.0"
#(use-modules (scm song))
-\version "2.10.0"
+\version "2.12.0"
%
% Running LilyPond on this file generates the documentation
-\version "2.10.0"
+\version "2.12.0"
%
% Running LilyPond on this file generates the short interface doc
-\version "2.10.0"
+\version "2.12.0"
startGraceMusic = {
-\version "2.11.15"
+\version "2.12.0"
#(use-modules (scm graphviz))
$Id$
%}
-\version "2.10.0"
+\version "2.12.0"
%
% Declare memorable shortcuts for special unicode characters
#(if (and #t (defined? 'set-debug-cell-accesses!))
(set-debug-cell-accesses! 5000))
-\version "2.10.0"
+\version "2.12.0"
\include "declarations-init.ly"
pitchnames = \pitchnamesItaliano
-\version "2.10.0"
+\version "2.12.0"
#(ly:parser-set-note-names parser pitchnames)
-\version "2.10.0"
+\version "2.12.0"
%% toplevel \book gets output per page,
%% everything else gets output per system/title
-\version "2.11.61"
+\version "2.12.0"
%{
%% -*- Mode: Scheme -*-
-\version "2.11.9"
+\version "2.12.0"
%%;; to be define later, in a closure
#(define-public toplevel-module-define-public! #f)
-\version "2.10.0"
+\version "2.12.0"
\midi {
\include "performer-init.ly"
}
% -*-Scheme-*-
-\version "2.10.0"
+\version "2.12.0"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\version "2.10.0"
+\version "2.12.0"
%{
common dutch names for notes. es means flat, is means sharp
pitchnames =\pitchnamesNorsk
-\version "2.10.0"
+\version "2.12.0"
#(ly:parser-set-note-names parser pitchnames)
-\version "2.11.11"
+\version "2.12.0"
#(use-modules (scm layout-page-layout))
\paper {
-\version "2.10.0"
+\version "2.12.0"
-\version "2.10.0"
+\version "2.12.0"
%%
%% setup for Request->Element conversion.
pitchnames = \pitchnamesPortuguese
-\version "2.10.0"
+\version "2.12.0"
#(ly:parser-set-note-names parser pitchnames)
%%%%
%%%% (c) 2008 Carl D. Sorensen <c_sorensen@byu.edu>
-\version "2.11.65"
+\version "2.12.0"
% chord-shape-table is a hash-table of chord shapes
% in the form of diagram-descriptions that can be
%%% Add basic chordshapes
-\version "2.11.56"
+\version "2.12.0"
\addChordShape #'f #guitar-tuning #"1-1-(;3-3;3-4;2-2;1-1;1-1-);"
\addChordShape #'f:m #guitar-tuning #"1-1-(;3-3;3-4;1-1;1-1;1-1-);"
-\version "2.11.61"
+\version "2.12.0"
%
% Add ninth chords to to predefined fret diagrams for standard guitar tunings
%
% property-init.ly
-\version "2.11.53"
+\version "2.12.0"
stemUp = \override Stem #'direction = #UP
stemDown = \override Stem #'direction = #DOWN
-\version "2.10.0"
+\version "2.12.0"
major = #`(
-\version "2.10.0"
+\version "2.12.0"
% code char abbreviations
-\version "2.11.52"
+\version "2.12.0"
startGroup = #(make-span-event 'NoteGroupingEvent START)
stopGroup = #(make-span-event 'NoteGroupingEvent STOP)
pitchnames = \pitchnamesSuomi
-\version "2.10.0"
+\version "2.12.0"
#(ly:parser-set-note-names parser pitchnames)
)
pitchnames = \pitchnamesSvenska
-\version "2.10.0"
+\version "2.12.0"
#(ly:parser-set-note-names parser pitchnames)
-\version "2.11.57"
+\version "2.12.0"
slashSeparator = \markup {
\center-align
-\version "2.11.26"
+\version "2.12.0"
%% defined later, in a closure
#(define-public (add-toc-item! markup-symbol text)
-\version "2.10.0" %hier stond 2.1.36, mocht ik dat wel veranderen?
+\version "2.12.0" %hier stond 2.1.36, mocht ik dat wel veranderen?
%{
fet_endchar;
+fet_beginchar ("128th Flag (up)", "u7");
+ save flare, hip_depth_ratio, hip_width, foot_depth, foot_width_ratio;
+ save flagspace, total_depth, flag_count;
+
+ flag_count = 5;
+ flare = .85 staff_space;
+ flagspace# = .93 staff_space#;
+ hip_depth_ratio = .72;
+ hip_width# = upflag_width# - hip_thickness# / 2;
+ total_depth# = 6.25 staff_space#;
+ foot_width_ratio = .8;
+
+ (flag_count - 1) * flagspace# + foot_depth# = total_depth#;
+
+ define_pixels (hip_width, foot_depth);
+ define_whole_vertical_pixels (flagspace);
+
+ set_char_box (0, hip_width# + right_upflag_space#,
+ total_depth# + foot_thickness# / 2, stemthickness# / 2);
+
+ draw_flag ((0, -(flag_count - 1) * flagspace), flare,
+ (hip_width, foot_depth),
+ hip_depth_ratio, foot_width_ratio,
+ hip_thickness, foot_thickness, 1);
+
+ add_flag (flagspace, flare, .97, 1.00, 1.3,
+ hip_thickness, foot_thickness);
+ add_flag (flagspace, flare, 1.00, 1.00, 1.25,
+ hip_thickness, foot_thickness);
+ add_flag (flagspace, flare, 1.00, 1.00, 1.25,
+ hip_thickness, foot_thickness);
+ add_flag (flagspace, flare, 0.95, 1.05, 1.25,
+ hip_thickness, foot_thickness);
+
+ draw_square_block ((-0.5 stemthickness_rounded, 0),
+ (0, -5 staff_space_rounded));
+fet_endchar;
+
+
fet_beginchar ("8th (down)", "d3");
save flare, hip_depth_ratio, hip_width, foot_depth, foot_width_ratio;
save flagspace, total_depth, flag_count;
y_mirror_char;
fet_endchar;
+
+fet_beginchar ("128th (down)", "d7");
+ save flare, hip_depth_ratio, hip_width, foot_depth, foot_width_ratio;
+ save flagspace, total_depth, flag_count;
+
+ flag_count = 5;
+ flare = .8 staff_space;
+ flagspace# = .9 staff_space#;
+ hip_depth_ratio = .85;
+ hip_width# = downflag_width# - hip_thickness# / 2;
+ total_depth# = 5.25 staff_space#;
+ foot_width_ratio = .98;
+
+ (flag_count - 1) * flagspace# + foot_depth# = total_depth#;
+ define_pixels (hip_width, foot_depth);
+ define_whole_vertical_pixels (flagspace);
+
+ set_char_box (0, hip_width# + right_downflag_space#,
+ total_depth# + foot_thickness# / 2, stemthickness# / 2);
+
+ draw_flag ((0, -(flag_count - 1) * flagspace), flare,
+ (hip_width, foot_depth),
+ hip_depth_ratio, foot_width_ratio,
+ hip_thickness, foot_thickness, 0);
+
+ add_flag (flagspace, flare, .97, 1.20, 1.175,
+ hip_thickness, foot_thickness);
+ add_flag (flagspace, flare, .97, 1.10, 1.175,
+ hip_thickness, foot_thickness);
+ add_flag (.98 flagspace, flare, .91, 1.05, 1.2,
+ hip_thickness, foot_thickness);
+ add_flag (.98 flagspace, flare, .91, 1.05, 1.2,
+ hip_thickness, foot_thickness);
+
+ draw_square_block ((-0.5 stemthickness_rounded, 0),
+ (0, -5 staff_space_rounded));
+
+ y_mirror_char;
+fet_endchar;
+
fet_endgroup ("flags");
@rule ((2, 11, 62), "makam-init.ly -> makam.ly, \\bigger -> \\larger")
def conv (str):
str = re.sub (r'\\include(\s+)"makam-init.ly"', r'\\include\1"makam.ly"', str)
- str = re.sub (r"\\bigger", r"\\larger", str)
+ str = re.sub (r"([\\:])bigger", r"\1larger", str)
return str
@rule ((2, 11, 64), "systemSeparatorMarkup -> system-separator-markup,\n\
str = re.sub ('InnerChoirStaff', 'ChoirStaff', str)
return str
-@rule ((2, 11, 66), "Syntax changes for \\addChordShape and \\chord-shape")
+@rule ((2, 12, 0),
+ _ ("Syntax changes for \\addChordShape and \\chord-shape") + "\n" + \
+ _ ("bump version for release"))
def conv(str):
if re.search(r'\\addChordShape', str):
stderr_write ("\n")
(crescendoText ,markup? "The text to print at start of non-hairpin
crescendo, i.e., @samp{cresc.}.")
(crescendoSpanner ,symbol? "The type of spanner to be used for
-crescendi. Available values are @samp{hairpin}, @samp{line},
-@samp{dashed-line}, @samp{dotted-line}. If unset, a hairpin crescendo
-is used.")
+crescendi. Available values are @samp{hairpin} and @samp{text}. If unset,
+a hairpin crescendo is used.")
(currentBarNumber ,integer? "Contains the current barnumber.
This property is incremented at every bar line.")
- (decrescendoSpanner ,symbol? "See @code{crescendoSpanner}.")
+ (decrescendoSpanner ,symbol? "The type of spanner to be used for
+decrescendi. Available values are @samp{hairpin} and @samp{text}. If
+unset, a hairpin decrescendo is used.")
(decrescendoText ,markup? "The text to print at start of
non-hairpin decrescendo, i.e., @samp{dim.}.")
(defaultBarType ,string? "Set the default type of bar line. See
(c0-position ,integer? "An integer indicating the position of
middle@tie{}C.")
+ (circled-tip ,boolean? "Put a circle at start/end of hairpins (al/del
+niente).")
(clip-edges ,boolean? "Allow outward pointing beamlets at the
edges of beams?")
(collapse-height ,ly:dimension? "Minimum height of system start
tightly as possible.")
(padding ,ly:dimension? "Add this much extra space between
objects that are next to each other.")
+ (padding-pairs ,list? "An alist mapping @code{(@var{name} . @var{name})}
+to distances.")
(page-break-penalty ,number? "Penalty for page break at this
column. This affects the choices of the page breaker; it avoids a
page break at a column with a positive penalty and prefers a page break
@code{direction-source} with this to get the direction of this
object.")
(size ,number? "Size of object, relative to standard size.")
+ (skyline-horizontal-padding ,number? "For determining the vertical
+distance between two staves, it is possible to have a configuration which
+would result in a tight interleaving of grobs from the top staff and the
+bottom staff. The larger this parameter is, the farther apart the staves
+are placed in such a configuration.")
(slash-negative-kern ,number? "The space to remove between
slashes in percent repeat glyphs. Larger values bring the two
elements closer together.")
(note-columns ,pair? "A list of @code{NoteColumn} grobs.")
(note-head ,ly:grob? "A single note head.")
(note-heads ,ly:grob-array? "A list of note head grobs.")
-
- (padding-pairs ,list? "An alist mapping @code{(@var{name} . @var{name})}
-to distances.")
(pedal-text ,ly:grob? "A pointer to the text of a mixed-style piano
pedal.")
(pure-Y-common ,ly:grob? "A cache of the
(cause ,scheme? "Any kind of causation objects (i.e., music, or perhaps
translator) that was the cause for this grob.")
- (circled-tip ,boolean? "Put a circle at start/end of hairpins (al/del
-niente).")
-
(delta-position ,number? "The vertical position difference.")
(details ,list? "Alist of parameters for detailed grob behavior.
Internally used to distribute beam shortening over stems.")
(skyline-distance ,number? "The distance between this staff and the
next one, as determined by a skyline algorithm.")
- (skyline-horizontal-padding ,number? "For determining the vertical
-distance between two staves, it is possible to have a configuration which
-would result in a tight interleaving of grobs from the top staff and the
-bottom staff. The larger this parameter is, the farther apart the staves
-are placed in such a configuration.")
(stem-info ,pair? "A cache of stem parameters.")
(use-breve-rest ,boolean? "Use breve rests for measures longer
(details
. (
;; 3.5 (or 3 measured from note head) is standard length
- ;; 32nd, 64th flagged stems should be longer
- (lengths . (3.5 3.5 3.5 4.5 5.0))
+ ;; 32nd, 64th, 128th flagged stems should be longer
+ (lengths . (3.5 3.5 3.5 4.5 5.0 6.0))
;; FIXME. 3.5 yields too long beams (according to Ross and
;; looking at Baerenreiter examples) for a number of common
(define-public (ps-font-command font)
(let* ((name (ly:font-file-name font))
(magnify (ly:font-magnification font)))
-
(string-append
"magfont"
(ly:string-substitute
(define (define-fonts paper)
(define font-list (ly:paper-fonts paper))
+
(define (define-font command fontname scaling)
(string-append
- "/" command " { /" fontname " " (ly:number->string scaling) " output-scale div selectfont } bind def\n"))
+ "/" command
+ " { /" fontname
+ " " (ly:number->string scaling) " output-scale div selectfont }"
+ " bind def\n"))
(define (font-load-command font)
(let* ((specced-font-name (ly:font-name font))
(fontname (if specced-font-name
- specced-font-name
+ specced-font-name
(ly:font-file-name font)))
(command (ps-font-command font))
- ;; FIXME -- see (ps-font-command )
+ ;; FIXME -- see (ps-font-command)
(plain (ps-font-command font))
(designsize (ly:font-design-size font))
(magnification (* (ly:font-magnification font)))
(ops (ly:output-def-lookup paper 'output-scale))
(scaling (* ops magnification designsize)))
-
(if (equal? fontname "unknown")
(display (list font fontname)))
(define-font plain fontname scaling)))
(string-append
"/lily-output-units "
- (number->string (/ (ly:bp 1)))
- " def %% millimeter\n"
+ (number->string (/ (ly:bp 1))) " def %% millimeter\n"
(output-entry "staff-line-thickness" 'line-thickness)
(output-entry "line-width" 'line-width)
(output-entry "paper-size" 'papersizename)
(output-entry "staff-height" 'staff-height) ;junkme.
"/output-scale "
- (number->string (ly:output-def-lookup layout 'output-scale))
- " def\n"
+ (number->string (ly:output-def-lookup layout 'output-scale)) " def\n"
(output-entry "page-height" 'paper-height)
(output-entry "page-width" 'paper-width)))
"page-width output-scale lily-output-units mul mul 0 translate 90 rotate\n"
"")
"%%EndPageSetup\n"
-
+ "\n"
"true setstrokeadjust\n"
- "gsave 0 paper-height translate "
- "set-ps-scale-to-lily-scale "
- "\n"))
+ "gsave 0 paper-height translate set-ps-scale-to-lily-scale\n"))
(ly:outputter-dump-stencil outputter page)
(ly:outputter-dump-string outputter "stroke grestore\nshowpage\n"))
(define (extract-names font)
(if (ly:pango-font? font)
(map car (ly:pango-font-physical-fonts font))
- (list (ly:font-name font))))
+ (list (ly:font-name font))))
(let* ((fonts (ly:paper-fonts paper))
(names (apply append (map extract-names fonts))))
-
(apply string-append
(map (lambda (f)
(format
(if load-fonts?
- "%%DocumentSuppliedResources: font ~a\n"
- "%%DocumentNeededResources: font ~a\n")
+ "%%DocumentSuppliedResources: font ~a\n"
+ "%%DocumentNeededResources: font ~a\n")
f))
(uniq-list (sort names string<?))))))
(define (eps-header paper bbox load-fonts?)
(string-append "%!PS-Adobe-2.0 EPSF-2.0\n"
- "%%Creator: LilyPond "
- (lilypond-version)
- "\n"
+ "%%Creator: LilyPond " (lilypond-version) "\n"
"%%BoundingBox: "
- (string-join (map ly:number->string bbox) " ") "\n"
+ (string-join (map ly:number->string bbox) " ") "\n"
"%%Orientation: "
- (if (eq? (ly:output-def-lookup paper 'landscape) #t)
- "Landscape\n"
- "Portrait\n")
+ (if (eq? (ly:output-def-lookup paper 'landscape) #t)
+ "Landscape\n"
+ "Portrait\n")
(supplies-or-needs paper load-fonts?)
"%%EndComments\n"))
-(define (ps-document-media paper)
- (let* ((w (/ (*
- (ly:output-def-lookup paper 'output-scale)
- (ly:output-def-lookup paper 'paper-width)) (ly:bp 1)))
- (h (/ (*
- (ly:output-def-lookup paper 'paper-height)
- (ly:output-def-lookup paper 'output-scale))
- (ly:bp 1)))
- (landscape? (eq? (ly:output-def-lookup paper 'landscape) #t)))
- (ly:format "%%DocumentMedia: ~a ~2f ~2f ~a ~a ~a\n"
- (ly:output-def-lookup paper 'papersizename)
- (if landscape? h w)
- (if landscape? w h)
- 80 ;; weight
- "()" ;; color
- "()" ;; type
- )))
-
+(define (ps-document-media paper)
+ (let* ((w (/ (*
+ (ly:output-def-lookup paper 'output-scale)
+ (ly:output-def-lookup paper 'paper-width)) (ly:bp 1)))
+ (h (/ (*
+ (ly:output-def-lookup paper 'paper-height)
+ (ly:output-def-lookup paper 'output-scale))
+ (ly:bp 1)))
+ (landscape? (eq? (ly:output-def-lookup paper 'landscape) #t)))
+ (ly:format "%%DocumentMedia: ~a ~2f ~2f ~a ~a ~a\n"
+ (ly:output-def-lookup paper 'papersizename)
+ (if landscape? h w)
+ (if landscape? w h)
+ 80 ;; weight
+ "()" ;; color
+ "()" ;; type
+ )))
(define (file-header paper page-count load-fonts?)
(string-append "%!PS-Adobe-3.0\n"
- "%%Creator: LilyPond "
- (lilypond-version)
- "\n"
-
+ "%%Creator: LilyPond " (lilypond-version) "\n"
"%%Pages: " (number->string page-count) "\n"
"%%PageOrder: Ascend\n"
"%%Orientation: "
- (if (eq? (ly:output-def-lookup paper 'landscape) #t)
- "Landscape\n"
- "Portrait\n")
+ (if (eq? (ly:output-def-lookup paper 'landscape) #t)
+ "Landscape\n"
+ "Portrait\n")
(ps-document-media paper)
(supplies-or-needs paper load-fonts?)
"%%EndComments\n"))
(define (procset file-name)
(format
- "%%BeginResource: procset (~a) 1 0
+ "%%BeginResource: procset (~a) 1 0
~a
%%EndResource
"
- file-name (cached-file-contents file-name)))
+ file-name (cached-file-contents file-name)))
(define (embed-document file-name)
(format "%%BeginDocument: ~a
~a
%%EndDocument
-"
- file-name (cached-file-contents file-name)))
+"
+ file-name (cached-file-contents file-name)))
(define (setup-variables paper)
(string-append
"\n"
(define-fonts paper)
- (output-variables paper)
- ))
+ (output-variables paper)))
(define (cff-font? font)
- (let*
- ((cff-string (ly:otf-font-table-data font "CFF ")))
+ (let* ((cff-string (ly:otf-font-table-data font "CFF ")))
(> (string-length cff-string) 0)))
(define-public (ps-embed-cff body font-set-name version)
(string-append
(format "/~a ~s StartData " font-set-name (string-length body))
body))
-
(header
(format
"%%BeginResource: font ~a
(footer "\n%%EndData
%%EndResource
%%EndResource\n"))
-
- (string-append
- header
- binary-data
- footer)))
-
+ (string-append header
+ binary-data
+ footer)))
(define (write-preamble paper load-fonts? port)
(define (internal-font? file-name)
(string-startswith file-name "emmentaler")
(string-startswith file-name "aybabtu")
(string-startswith file-name "Aybabtu")))
- (define (load-font-via-GS font-name-filename)
+
+ (define (load-font-via-GS font-name-filename)
(define (ps-load-file file-name)
(if (string? file-name)
(if (string-contains file-name (ly:get-option 'datadir))
(begin
- (set! file-name (ly:string-substitute (ly:get-option 'datadir) "" file-name))
- (format "lilypond-datadir (~a) concatstrings (r) file .loadfont" file-name))
-
+ (set! file-name (ly:string-substitute (ly:get-option 'datadir)
+ "" file-name))
+ (format
+ "lilypond-datadir (~a) concatstrings (r) file .loadfont\n"
+ file-name))
(format "(~a) (r) file .loadfont\n" file-name))
(format "% cannot find font file: ~a\n" file-name)))
(name (cadr font-name-filename))
(file-name (caddr font-name-filename))
(bare-file-name (ly:find-file file-name)))
-
- (cons
- name
-
- (if (mac-font? bare-file-name)
- (handle-mac-font name bare-file-name)
- (cond
- ((internal-font? file-name)
- (ps-load-file (ly:find-file
- (format "~a.otf" file-name))))
- ((string? bare-file-name)
- (ps-load-file file-name))
- (else
- (ly:warning (_ "cannot embed ~S=~S") name file-name)
- "")))
-
- )))
+ (cons name
+ (if (mac-font? bare-file-name)
+ (handle-mac-font name bare-file-name)
+ (cond
+ ((internal-font? file-name)
+ (ps-load-file (ly:find-file
+ (format "~a.otf" file-name))))
+ ((string? bare-file-name)
+ (ps-load-file file-name))
+ (else
+ (ly:warning (_ "cannot embed ~S=~S") name file-name)
+ ""))))))
(define (dir-join a b)
(if (equal? a "")
b
(string-append a "/" b)))
-
+
(define (dir-listing dir-name)
(define (dir-helper dir lst)
(let ((e (readdir dir)))
- (if (eof-object? e) lst (dir-helper dir (cons e lst)))))
+ (if (eof-object? e)
+ lst
+ (dir-helper dir (cons e lst)))))
(reverse (dir-helper (opendir dir-name) '())))
-
- (define (handle-mac-font name filename)
- (let*
- ((dir-name (tmpnam))
- (files '())
- (status 0)
- (embed #f))
+ (define (handle-mac-font name filename)
+ (let* ((dir-name (tmpnam))
+ (files '())
+ (status 0)
+ (embed #f))
(mkdir dir-name #o700)
(set! status (ly:system
(format "cd ~a && fondu -force '~a'" dir-name filename)))
-
(set! files (dir-listing dir-name))
-
(for-each
(lambda (f)
- (let*
- ((full-name (dir-join dir-name f)))
-
+ (let* ((full-name (dir-join dir-name f)))
(if (and (not embed)
(equal? 'regular (stat:type (stat full-name)))
(equal? name (ly:ttf-ps-name full-name)))
-
- (set! embed
- (font-file-as-ps-string name full-name)))
-
- (if (or (equal? "." f)
+ (set! embed (font-file-as-ps-string name full-name)))
+ (if (or (equal? "." f)
(equal? ".." f))
#t
(delete-file full-name))))
-
-
files)
(rmdir dir-name)
-
(if (not embed)
(begin
(set! embed "% failed\n")
- (ly:warning (_ "cannot extract file matching ~a from ~a") name filename)))
+ (ly:warning (_ "cannot extract file matching ~a from ~a")
+ name filename)))
embed))
- (define (font-file-as-ps-string name file-name)
- (let*
- ((downcase-file-name (string-downcase file-name)))
-
+ (define (font-file-as-ps-string name file-name font-index)
+ (let* ((downcase-file-name (string-downcase file-name)))
(cond
((and file-name (string-endswith downcase-file-name ".pfa"))
(embed-document file-name))
(ly:pfb->pfa file-name))
((and file-name (string-endswith downcase-file-name ".ttf"))
(ly:ttf->pfa file-name))
+ ((and file-name (string-endswith downcase-file-name ".ttc"))
+ (ly:ttf->pfa file-name font-index))
((and file-name (string-endswith downcase-file-name ".otf"))
(ps-embed-cff (ly:otf->cff file-name) name 0))
(else
(ly:warning (_ "do not know how to embed ~S=~S") name file-name)
""))))
- (define (mac-font? bare-file-name)
- (and
- (eq? PLATFORM 'darwin)
- bare-file-name
- (or
- (string-endswith bare-file-name ".dfont")
- (= (stat:size (stat bare-file-name)) 0))))
-
- (define (load-font font-name-filename)
- (let* ((font (car font-name-filename))
- (name (cadr font-name-filename))
- (file-name (caddr font-name-filename))
+ (define (mac-font? bare-file-name)
+ (and (eq? PLATFORM 'darwin)
+ bare-file-name
+ (or (string-endswith bare-file-name ".dfont")
+ (= (stat:size (stat bare-file-name)) 0))))
+
+ (define (load-font font-psname-filename-fontindex)
+ (let* ((font (list-ref font-psname-filename-fontindex 0))
+ (name (list-ref font-psname-filename-fontindex 1))
+ (file-name (list-ref font-psname-filename-fontindex 2))
+ (font-index (list-ref font-psname-filename-fontindex 3))
(bare-file-name (ly:find-file file-name)))
-
- (cons
- name
- (cond
-
- ((mac-font? bare-file-name)
- (handle-mac-font name bare-file-name))
-
- ((and font (cff-font? font))
- (ps-embed-cff (ly:otf-font-table-data font "CFF ")
- name
- 0))
-
- (bare-file-name (font-file-as-ps-string name bare-file-name))
- (else
- (ly:warning (_ "do not know how to embed font ~s ~s ~s")
- name file-name font))))))
+ (cons name
+ (cond ((mac-font? bare-file-name)
+ (handle-mac-font name bare-file-name))
+ ((and font (cff-font? font))
+ (ps-embed-cff (ly:otf-font-table-data font "CFF ")
+ name
+ 0))
+ (bare-file-name (font-file-as-ps-string
+ name bare-file-name font-index))
+ (else
+ (ly:warning (_ "do not know how to embed font ~s ~s ~s")
+ name file-name font))))))
-
(define (load-fonts paper)
(let* ((fonts (ly:paper-fonts paper))
(all-font-names
(map
(lambda (font)
- (cond
- ((string? (ly:font-file-name font))
- (list (list
- font
- (ly:font-name font)
- (ly:font-file-name font))))
- ((ly:pango-font? font)
- (map
- (lambda (name-psname-pair)
- (list #f
- (car name-psname-pair)
- (cdr name-psname-pair)))
- (ly:pango-font-physical-fonts font)))
-
- (else
- (ly:font-sub-fonts font))))
-
+ (cond ((string? (ly:font-file-name font))
+ (list (list font
+ (ly:font-name font)
+ (ly:font-file-name font)
+ #f)))
+ ((ly:pango-font? font)
+ (map (lambda (psname-filename-fontindex)
+ (list #f
+ (list-ref psname-filename-fontindex 0)
+ (list-ref psname-filename-fontindex 1)
+ (list-ref psname-filename-fontindex 2)))
+ (ly:pango-font-physical-fonts font)))
+ (else
+ (ly:font-sub-fonts font))))
fonts))
- (font-names
- (uniq-list
- (sort (apply append all-font-names)
- (lambda (x y) (string<? (cadr x) (cadr y))))))
+ (font-names (uniq-list
+ (sort (apply append all-font-names)
+ (lambda (x y) (string<? (cadr x) (cadr y))))))
;; slightly spaghetti-ish: deciding what to load where
;; is smeared out.
- (font-loader (lambda (name)
- (cond
- ((ly:get-option 'gs-load-fonts)
- (load-font-via-GS name))
- ((ly:get-option 'gs-load-lily-fonts)
- (if (or
- (string-contains (caddr name) (ly:get-option 'datadir))
- (internal-font? (caddr name)))
-
- (load-font-via-GS name)
- (load-font name)))
- (else (load-font name)))))
-
+ (font-loader
+ (lambda (name)
+ (cond ((ly:get-option 'gs-load-fonts)
+ (load-font-via-GS name))
+ ((ly:get-option 'gs-load-lily-fonts)
+ (if (or (string-contains (caddr name)
+ (ly:get-option 'datadir))
+ (internal-font? (caddr name)))
+ (load-font-via-GS name)
+ (load-font name)))
+ (else
+ (load-font name)))))
(pfas (map font-loader font-names)))
pfas))
(display "%%BeginProlog\n" port)
-
- (format port
- "/lilypond-datadir where {pop} {userdict /lilypond-datadir (~a) put } ifelse"
- (ly:get-option 'datadir))
-
+ (format
+ port
+ "/lilypond-datadir where {pop} {userdict /lilypond-datadir (~a) put } ifelse"
+ (ly:get-option 'datadir))
(if load-fonts?
- (for-each
- (lambda (f)
- (format port "\n%%BeginFont: ~a\n" (car f))
- (display (cdr f) port)
- (display "\n%%EndFont\n" port))
- (load-fonts paper)))
-
+ (for-each (lambda (f)
+ (format port "\n%%BeginFont: ~a\n" (car f))
+ (display (cdr f) port)
+ (display "%%EndFont\n" port))
+ (load-fonts paper)))
(display (setup-variables paper) port)
;; adobe note 5002: should initialize variables before loading routines.
(display (procset "music-drawing-routines.ps") port)
(display (procset "lilyponddefs.ps") port)
-
(display "%%EndProlog\n" port)
-
(display "%%BeginSetup\ninit-lilypond-parameters\n%%EndSetup\n\n" port))
(define-public (output-framework basename book scopes fields)
(paper (ly:paper-book-paper book))
(systems (ly:paper-book-systems book))
(page-stencils (map page-stencil (ly:paper-book-pages book)))
-
+
(landscape? (eq? (ly:output-def-lookup paper 'landscape) #t))
(page-number (1- (ly:output-def-lookup paper 'first-page-number)))
(page-count (length page-stencils))
(if (ly:get-option 'dump-signatures)
(write-system-signatures basename (ly:paper-book-systems book) 1))
-
+
(output-scopes scopes fields basename)
(display (file-header paper page-count #t) port)
-
- ;; don't do BeginDefaults PageMedia: A4
+
+ ;; don't do BeginDefaults PageMedia: A4
;; not necessary and wrong
-
+
(write-preamble paper #t port)
(for-each
(define-public (dump-stencil-as-EPS paper dump-me filename
load-fonts)
-
+
(let*
((xext (ly:stencil-extent dump-me X))
(yext (ly:stencil-extent dump-me Y))
0.0 x))
;; the left-overshoot is to make sure that
- ;; bar numbers stick out of margin uniformly.
+ ;; bar numbers stick out of margin uniformly.
;;
(list
-
+
(if (number? left-overshoot)
(min left-overshoot (car xext))
(car xext))
(dump-stencil-as-EPS-with-bbox paper dump-me filename load-fonts bbox)
))
-
-
+
+
(define-public (dump-stencil-as-EPS-with-bbox paper dump-me filename
load-fonts
bbox)
"Create an EPS file from stencil DUMP-ME to FILENAME. BBOX has format
- (left-x, lower-y, right x, up-y). If LOAD-FONTS set, include fonts inline."
+ (left-x, lower-y, right x, up-y). If LOAD-FONTS set, include fonts inline."
(define (to-rounded-bp-box box)
"Convert box to 1/72 inch with rounding to enlarge the box."
(if x-ext
(cons x-ext paper-system)
#f)))
-
+
systems))
(count 0))
-
+
(for-each
(lambda (ext-system-pair)
(let*
bbox)
(if do-pdf
- (postscript->pdf 0 0 (format "~a.eps" filename)))
+ (postscript->pdf 0 0 (format "~a.eps" filename)))
))
extents-system-pairs)
(define-public (clip-system-EPSes basename paper-book)
- (define do-pdf (member "pdf" (ly:output-formats)))
+ (define do-pdf (member "pdf" (ly:output-formats)))
(define (clip-score-systems basename systems)
(let*
((layout (ly:grob-layout (paper-system-system-grob (car systems))))
(regions (ly:output-def-lookup layout 'clip-regions)))
-
+
(for-each
(lambda (region)
(clip-systems-to-region
(rhythmic-location->file-string (cdr region)))
layout systems region
do-pdf))
-
+
regions)))
-
+
;; partition in system lists sharing their layout blocks
(let*
(count 0)
(score-system-list '()))
- (fold
+ (fold
(lambda (system last-system)
-
-
+
+
(if (not (and last-system
(equal? (paper-system-layout last-system)
(paper-system-layout system))))
(set! score-system-list (cons '() score-system-list)))
-
+
(if (paper-system-layout system)
(set-car! score-system-list (cons system (car score-system-list))))
;; pass value.
system)
- #f
+ #f
systems)
(for-each
(landscape (ly:output-def-lookup defs 'landscape))
(output-scale (ly:output-def-lookup defs 'output-scale))
(convert (lambda (x) (* x output-scale (/ (ly:bp 1)))))
-
+
(paper-width (convert (ly:output-def-lookup defs 'paper-width)))
(paper-height (convert (ly:output-def-lookup defs 'paper-height)))
(define-public (output-classic-framework basename book scopes fields)
- (ly:error (_ "\nThe PostScript backend does not support the system-by-system
-output. For that, use the EPS backend instead,
+ (ly:error (_ "\nThe PostScript backend does not support the system-by-system
+output. For that, use the EPS backend instead,
lilypond -dbackend=eps FILE
(separate-log-files #f "Output to FILE.log per file.")
(trace-memory-frequency #f "Record Scheme cell usage this many times per second, and dump to file.")
(trace-scheme-coverage #f "Record coverage of Scheme files")
- (ttf-verbosity 0
- "how much verbosity for TTF font embedding?")
(show-available-fonts #f
"List font names available.")
(verbose ,(ly:command-line-verbose?) "value for the --verbose flag")
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2008-11-07.12}
+\def\texinfoversion{2008-12-16.21}
%
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
\let\ptexstar=\*
\let\ptext=\t
\let\ptextop=\top
+{\catcode`\'=\active
+\global\let\ptexquoteright'}% Math-mode def from plain.tex.
% If this character appears in an error message or help string, it
% starts a new line in the output.
\catcode`>=\other
\catcode`+=\other
\catcode`-=\other
+ \catcode`\`=\other
+ \catcode`\'=\other
}
\def\pushthisfilestack{%
\catcode`< = \active
\catcode`> = \active
\catcode`+ = \active
+ \catcode`' = \active
\gdef\mathactive{%
\let^ = \ptexhat
\let< = \ptexless
\let> = \ptexgtr
\let+ = \ptexplus
+ \let' = \ptexquoteright
}
}
\def\cmykDarkRed{0.28 1 1 0.35}
\def\cmykBlack{0 0 0 1}
%
- \def\pdfsetcolor#1{\pdfliteral{#1 k}}
+ % k sets the color for filling (usual text, etc.);
+ % K sets the color for stroking (thin rules, e.g., normal _'s).
+ \def\pdfsetcolor#1{\pdfliteral{#1 k #1 K}}
+ %
% Set color, and create a mark which defines \thiscolor accordingly,
% so that \makeheadline knows which color to restore.
\def\setcolor#1{%
\setcolor{\linkcolor}#1\endlink}
\def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
\else
+ % non-pdf mode
\let\pdfmkdest = \gobble
\let\pdfurl = \gobble
\let\endlink = \relax
\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
\def\tt{\fam=\ttfam \setfontstyle{tt}}
+% Unfortunately, we have to override this for titles and the like, since
+% in those cases "rm" is bold. Sigh.
+\def\rmisbold{\rm\def\curfontstyle{bf}}
+
% Texinfo sort of supports the sans serif font style, which plain TeX does not.
% So we set up a \sf.
\newfam\sffam
\setfont\titlesc\scbshape{10}{\magstep4}{OT1}
\font\titlei=cmmi12 scaled \magstep3
\font\titlesy=cmsy10 scaled \magstep4
-\def\authorrm{\secrm}
-\def\authortt{\sectt}
\def\titleecsize{2074}
% Chapter (and unnumbered) fonts (17.28pt).
\setfont\titlesc\scbshape{10}{\magstep4}{OT1}
\font\titlei=cmmi12 scaled \magstep3
\font\titlesy=cmsy10 scaled \magstep4
-\def\authorrm{\secrm}
-\def\authortt{\sectt}
\def\titleecsize{2074}
% Chapter fonts (14.4pt).
\def\curfontsize{title}%
\def\lsize{chap}\def\lllsize{subsec}%
\resetmathfonts \setleading{25pt}}
-\def\titlefont#1{{\titlefonts\rm #1}}
+\def\titlefont#1{{\titlefonts\rmisbold #1}}
\def\chapfonts{%
\let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
\let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
\def\lsize{smaller}\def\lllsize{smaller}%
\resetmathfonts \setleading{9.5pt}}
+% Fonts for short table of contents.
+\setfont\shortcontrm\rmshape{12}{1000}{OT1}
+\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12
+\setfont\shortcontsl\slshape{12}{1000}{OT1}
+\setfont\shortconttt\ttshape{12}{1000}{OT1TT}
+
+% Define these just so they can be easily changed for other fonts.
+\def\angleleft{$\langle$}
+\def\angleright{$\rangle$}
+
% Set the fonts to use with the @small... environments.
\let\smallexamplefonts = \smallfonts
%
% By the way, for comparison, here's what fits with @example (10pt):
% 8.5x11=71 smallbook=60 a4=75 a5=58
-%
-% I wish the USA used A4 paper.
% --karl, 24jan03.
-
% Set up the default fonts, so we can use them for creating boxes.
%
\definetextfontsizexi
-% Define these so they can be easily changed for other fonts.
-\def\angleleft{$\langle$}
-\def\angleright{$\rangle$}
+
+\message{markup,}
+
+% Check if we are currently using a typewriter font. Since all the
+% Computer Modern typewriter fonts have zero interword stretch (and
+% shrink), and it is reasonable to expect all typewriter fonts to have
+% this property, we can check that font parameter.
+%
+\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
+
+% Markup style infrastructure. \defmarkupstylesetup\INITMACRO will
+% define and register \INITMACRO to be called on markup style changes.
+% \INITMACRO can check \currentmarkupstyle for the innermost
+% style and the set of \ifmarkupSTYLE switches for all styles
+% currently in effect.
+\newif\ifmarkupvar
+\newif\ifmarkupsamp
+\newif\ifmarkupkey
+%\newif\ifmarkupfile % @file == @samp.
+%\newif\ifmarkupoption % @option == @samp.
+\newif\ifmarkupcode
+\newif\ifmarkupkbd
+%\newif\ifmarkupenv % @env == @code.
+%\newif\ifmarkupcommand % @command == @code.
+\newif\ifmarkuptex % @tex (and part of @math, for now).
+\newif\ifmarkupexample
+\newif\ifmarkupverb
+\newif\ifmarkupverbatim
+
+\let\currentmarkupstyle\empty
+
+\def\setupmarkupstyle#1{%
+ \csname markup#1true\endcsname
+ \def\currentmarkupstyle{#1}%
+ \markupstylesetup
+}
+
+\let\markupstylesetup\empty
+
+\def\defmarkupstylesetup#1{%
+ \expandafter\def\expandafter\markupstylesetup
+ \expandafter{\markupstylesetup #1}%
+ \def#1%
+}
+
+% Markup style setup for left and right quotes.
+\defmarkupstylesetup\markupsetuplq{%
+ \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname
+ \ifx\temp\relax \markupsetuplqdefault \else \temp \fi
+}
+
+\defmarkupstylesetup\markupsetuprq{%
+ \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname
+ \ifx\temp\relax \markupsetuprqdefault \else \temp \fi
+}
+
+{
+\catcode`\'=\active
+\catcode`\`=\active
+
+\gdef\markupsetuplqdefault{\let`\lq}
+\gdef\markupsetuprqdefault{\let'\rq}
+
+\gdef\markupsetcodequoteleft{\let`\codequoteleft}
+\gdef\markupsetcodequoteright{\let'\codequoteright}
+
+\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft}
+}
+
+\let\markupsetuplqcode \markupsetcodequoteleft
+\let\markupsetuprqcode \markupsetcodequoteright
+\let\markupsetuplqexample \markupsetcodequoteleft
+\let\markupsetuprqexample \markupsetcodequoteright
+\let\markupsetuplqverb \markupsetcodequoteleft
+\let\markupsetuprqverb \markupsetcodequoteright
+\let\markupsetuplqverbatim \markupsetcodequoteleft
+\let\markupsetuprqverbatim \markupsetcodequoteright
+
+\let\markupsetuplqsamp \markupsetnoligaturesquoteleft
+\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
+
+% Allow an option to not replace quotes with a regular directed right
+% quote/apostrophe (char 0x27), but instead use the undirected quote
+% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it
+% the default, but it works for pasting with more pdf viewers (at least
+% evince), the lilypond developers report. xpdf does work with the
+% regular 0x27.
+%
+\def\codequoteright{%
+ \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
+ \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
+ '%
+ \else \char'15 \fi
+ \else \char'15 \fi
+}
+%
+% and a similar option for the left quote char vs. a grave accent.
+% Modern fonts display ASCII 0x60 as a grave accent, so some people like
+% the code environments to do likewise.
+%
+\def\codequoteleft{%
+ \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
+ \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
+ % [Knuth] pp. 380,381,391
+ % \relax disables Spanish ligatures ?` and !` of \tt font.
+ \relax`%
+ \else \char'22 \fi
+ \else \char'22 \fi
+}
+
+% [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font.
+\def\noligaturesquoteleft{\relax\lq}
% Count depth in font-changes, for error checks
\newcount\fontdepth \fontdepth=0
-% Fonts for short table of contents.
-\setfont\shortcontrm\rmshape{12}{1000}{OT1}
-\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12
-\setfont\shortcontsl\slshape{12}{1000}{OT1}
-\setfont\shortconttt\ttshape{12}{1000}{OT1TT}
-
%% Add scribe-like font environments, plus @l for inline lisp (usually sans
%% serif) and @ii for TeX italic
% @var is set to this for defun arguments.
\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx}
-% like \smartslanted except unconditionally use \sl. We never want
+% @cite is like \smartslanted except unconditionally use \sl. We never want
% ttsl for book titles, do we?
\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
\let\i=\smartitalic
\let\slanted=\smartslanted
-\let\var=\smartslanted
+\def\var#1{{\setupmarkupstyle{var}\smartslanted{#1}}}
\let\dfn=\smartslanted
\let\emph=\smartitalic
-% @b, explicit bold.
+% Explicit font changes: @r, @sc, undocumented @ii.
+\def\r#1{{\rm #1}} % roman font
+\def\sc#1{{\smallcaps#1}} % smallcaps font
+\def\ii#1{{\it #1}} % italic font
+
+% @b, explicit bold. Also @strong.
\def\b#1{{\bf #1}}
\let\strong=\b
\catcode`@=\other
\def\endofsentencespacefactor{3000}% default
+% @t, explicit typewriter.
\def\t#1{%
{\tt \rawbackslash \plainfrenchspacing #1}%
\null
}
-\def\samp#1{`\tclose{#1}'\null}
-\setfont\keyrm\rmshape{8}{1000}{OT1}
-\font\keysy=cmsy9
-\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
- \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
- \vbox{\hrule\kern-0.4pt
- \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
- \kern-0.4pt\hrule}%
- \kern-.06em\raise0.4pt\hbox{\angleright}}}}
-\def\key #1{{\nohyphenation \uppercase{#1}}\null}
-% The old definition, with no lozenge:
-%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
+
+% @samp.
+\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
+
+% definition of @key that produces a lozenge. Doesn't adjust to text size.
+%\setfont\keyrm\rmshape{8}{1000}{OT1}
+%\font\keysy=cmsy9
+%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
+% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
+% \vbox{\hrule\kern-0.4pt
+% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
+% \kern-0.4pt\hrule}%
+% \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+
+% definition of @key with no lozenge. If the current font is already
+% monospace, don't change it; that way, we respect @kbdinputstyle. But
+% if it isn't monospace, then use \tt.
+%
+\def\key#1{{\setupmarkupstyle{key}
+ \nohyphenation
+ \ifmonospace\else\tt\fi
+ #1}\null}
+
+% ctrl is no longer a Texinfo command.
\def\ctrl #1{{\tt \rawbackslash \hat}#1}
% @file, @option are the same as @samp.
\global\let'=\rq \global\let`=\lq % default definitions
%
\global\def\code{\begingroup
- \catcode\rquoteChar=\active \catcode\lquoteChar=\active
- \let'\codequoteright \let`\codequoteleft
- %
+ \setupmarkupstyle{code}%
+ % The following should really be moved into \setupmarkupstyle handlers.
\catcode\dashChar=\active \catcode\underChar=\active
\ifallowcodebreaks
\let-\codedash
% @kbd is like @code, except that if the argument is just one @key command,
% then @kbd has no effect.
+\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
% `example' (@kbd uses ttsl only inside of @example and friends),
\def\wordexample{example}
\def\wordcode{code}
-% Default is `distinct.'
+% Default is `distinct'.
\kbdinputstyle distinct
\def\xkey{\key}
\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
\ifx\one\xkey\ifx\threex\three \key{#2}%
-\else{\tclose{\kbdfont\look}}\fi
-\else{\tclose{\kbdfont\look}}\fi}
+\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
+\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
\let\indicateurl=\code
\let\email=\uref
\fi
-% Check if we are currently using a typewriter font. Since all the
-% Computer Modern typewriter fonts have zero interword stretch (and
-% shrink), and it is reasonable to expect all typewriter fonts to have
-% this property, we can check that font parameter.
-%
-\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
-
% Typeset a dimension, e.g., `in' or `pt'. The only reason for the
% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
%
\def\dmn#1{\thinspace #1}
-\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}
-
% @l was never documented to mean ``switch to the Lisp font'',
% and it is not used as such in any manual I can find. We need it for
% Polish suppressed-l. --karl, 22sep96.
%\def\l#1{{\li #1}\null}
-% Explicit font changes: @r, @sc, undocumented @ii.
-\def\r#1{{\rm #1}} % roman font
-\def\sc#1{{\smallcaps#1}} % smallcaps font
-\def\ii#1{{\it #1}} % italic font
-
% @acronym for "FBI", "NATO", and the like.
% We print this one point size smaller, since it's intended for
% all-uppercase.
\fi
}
+
+\message{glyphs,}
+
+% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
+%
+% Since these characters are used in examples, they should be an even number of
+% \tt widths. Each \tt character is 1en, so two makes it 1em.
+%
+\def\point{$\star$}
+\def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}}
+\def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
+\def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}}
+\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
+\def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}}
+
+% The @error{} command.
+% Adapted from the TeXbook's \boxit.
+%
+\newbox\errorbox
+%
+{\tentt \global\dimen0 = 3em}% Width of the box.
+\dimen2 = .55pt % Thickness of rules
+% The text. (`r' is open on the right, `e' somewhat less so on the left.)
+\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
+%
+\setbox\errorbox=\hbox to \dimen0{\hfil
+ \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
+ \advance\hsize by -2\dimen2 % Rules.
+ \vbox{%
+ \hrule height\dimen2
+ \hbox{\vrule width\dimen2 \kern3pt % Space to left of text.
+ \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
+ \kern3pt\vrule width\dimen2}% Space to right.
+ \hrule height\dimen2}
+ \hfil}
+%
+\def\error{\leavevmode\lower.7ex\copy\errorbox}
+
% @pounds{} is a sterling sign, which Knuth put in the CM italic font.
%
\def\pounds{{\it\$}}
\def\quotesinglbase{{\ecfont \char"0D}}
%
% This positioning is not perfect (see the ogonek LaTeX package), but
-% we have the precomposed glyphs for the most common cases.
+% we have the precomposed glyphs for the most common cases. We put the
+% tests to use those glyphs in the single \ogonek macro so we have fewer
+% dummy definitions to worry about for index entries, etc.
+%
% ogonek is also used with other letters in Lithuanian (IOU), but using
% the precomposed glyphs for those is not so easy since they aren't in
% the same EC font.
-\def\ogonek#1{{\ecfont \setbox0=\hbox{#1}\ifdim\ht0=1ex\accent"0C #1%
- \else\ooalign{\unhbox0\crcr\hidewidth\char"0C \hidewidth}\fi}}
-\def\Aogonek{{\ecfont \char"81}}
-\def\Eogonek{{\ecfont \char"86}}
-\def\aogonek{{\ecfont \char"A1}}
-\def\eogonek{{\ecfont \char"A6}}
+\def\ogonek#1{{%
+ \def\temp{#1}%
+ \ifx\temp\macrocharA\Aogonek
+ \else\ifx\temp\macrochara\aogonek
+ \else\ifx\temp\macrocharE\Eogonek
+ \else\ifx\temp\macrochare\eogonek
+ \else
+ \ecfont \setbox0=\hbox{#1}%
+ \ifdim\ht0=1ex\accent"0C #1%
+ \else\ooalign{\unhbox0\crcr\hidewidth\char"0C \hidewidth}%
+ \fi
+ \fi\fi\fi\fi
+ }%
+}
+\def\Aogonek{{\ecfont \char"81}}\def\macrocharA{A}
+\def\aogonek{{\ecfont \char"A1}}\def\macrochara{a}
+\def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E}
+\def\eogonek{{\ecfont \char"A6}}\def\macrochare{e}
%
\def\ecfont{%
% We can't distinguish serif/sans and italic/slanted, but this
\let\subtitlerm=\tenrm
\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
-\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines
- \let\tt=\authortt}
-
\parseargdef\title{%
\checkenv\titlepage
- \leftline{\titlefonts\rm #1}
+ \leftline{\titlefonts\rmisbold #1}
% print a rule at the page bottom also.
\finishedtitlepagefalse
\vskip4pt \hrule height 4pt width \hsize \vskip4pt
\else
\checkenv\titlepage
\ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
- {\authorfont \leftline{#1}}%
+ {\secfonts\rmisbold \leftline{#1}}%
\fi
}
\definedummyword\guilsinglright
\definedummyword\expansion
\definedummyword\minus
+ \definedummyword\ogonek
\definedummyword\pounds
\definedummyword\point
\definedummyword\print
\definedummyword\v
\definedummyword\H
\definedummyword\dotaccent
+ \definedummyword\ogonek
\definedummyword\ringaccent
\definedummyword\tieaccent
\definedummyword\ubaraccent
% 3) Likewise, headings look best if no \parindent is used, and
% if justification is not attempted. Hence \raggedright.
-
\def\majorheading{%
{\advance\chapheadingskip by 10pt \chapbreak }%
\parsearg\chapheadingzzz
\def\chapheadingzzz#1{%
{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\raggedright
- \rm #1\hfill}}%
+ \rmisbold #1\hfill}}%
\bigskip \par\penalty 200\relax
\suppressfirstparagraphindent
}
\domark
%
{%
- \chapfonts \rm
+ \chapfonts \rmisbold
%
% Have to define \lastsection before calling \donoderef, because the
% xref code eventually uses it. On the other hand, it has to be called
\def\unnchfopen #1{%
\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\raggedright
- \rm #1\hfill}}\bigskip \par\nobreak
+ \rmisbold #1\hfill}}\bigskip \par\nobreak
}
\def\chfopen #1#2{\chapoddpage {\chapfonts
\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
\def\centerchfopen #1{%
\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt
- \hfill {\rm #1}\hfill}}\bigskip \par\nobreak
+ \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak
}
\def\CHAPFopen{%
\global\let\chapmacro=\chfopen
\def\sectionheading#1#2#3#4{%
{%
% Switch to the right set of fonts.
- \csname #2fonts\endcsname \rm
+ \csname #2fonts\endcsname \rmisbold
%
\def\sectionlevel{#2}%
\def\temptype{#3}%
\fi
\fi\fi\fi
%
+ % Go into vertical mode. Usually we'll already be there, but we
+ % don't want the following whatsit to end up in a preceding paragraph
+ % if the document didn't happen to have a blank line.
+ \par
+ %
% Output the mark. Pass it through \safewhatsit, to take care of
% the preceding space.
\safewhatsit\domark
\message{environments,}
% @foo ... @end foo.
-% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
-%
-% Since these characters are used in examples, they should be an even number of
-% \tt widths. Each \tt character is 1en, so two makes it 1em.
-%
-\def\point{$\star$}
-\def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}}
-\def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
-\def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}}
-\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
-\def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}}
-
-% The @error{} command.
-% Adapted from the TeXbook's \boxit.
-%
-\newbox\errorbox
-%
-{\tentt \global\dimen0 = 3em}% Width of the box.
-\dimen2 = .55pt % Thickness of rules
-% The text. (`r' is open on the right, `e' somewhat less so on the left.)
-\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
-%
-\setbox\errorbox=\hbox to \dimen0{\hfil
- \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
- \advance\hsize by -2\dimen2 % Rules.
- \vbox{%
- \hrule height\dimen2
- \hbox{\vrule width\dimen2 \kern3pt % Space to left of text.
- \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
- \kern3pt\vrule width\dimen2}% Space to right.
- \hrule height\dimen2}
- \hfil}
-%
-\def\error{\leavevmode\lower.7ex\copy\errorbox}
-
% @tex ... @end tex escapes into raw Tex temporarily.
% One exception: @ is still an escape character, so that @end tex works.
% But \@ or @@ will get a plain tex @ character.
\envdef\tex{%
+ \setupmarkupstyle{tex}%
\catcode `\\=0 \catcode `\{=1 \catcode `\}=2
\catcode `\$=3 \catcode `\&=4 \catcode `\#=6
\catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie
\catcode `\|=\other
\catcode `\<=\other
\catcode `\>=\other
+ \catcode`\`=\other
+ \catcode`\'=\other
\escapechar=`\\
%
\let\b=\ptexb
% This macro is called at the beginning of all the @example variants,
% inside a group.
+\newdimen\nonfillparindent
\def\nonfillstart{%
\aboveenvbreak
\hfuzz = 12pt % Don't be fussy
\let\par = \lisppar % don't ignore blank lines
\obeylines % each line of input is a line of output
\parskip = 0pt
+ % Turn off paragraph indentation but redefine \indent to emulate
+ % the normal \indent.
+ \nonfillparindent=\parindent
\parindent = 0pt
+ \let\indent\nonfillindent
+ %
\emergencystretch = 0pt % don't try to avoid overfull boxes
\ifx\nonarrowing\relax
\advance \leftskip by \lispnarrowing
\let\exdent=\nofillexdent
}
+\begingroup
+\obeyspaces
+% We want to swallow spaces (but not other tokens) after the fake
+% @indent in our nonfill-environments, where spaces are normally
+% active and set to @tie, resulting in them not being ignored after
+% @indent.
+\gdef\nonfillindent{\futurelet\temp\nonfillindentcheck}%
+\gdef\nonfillindentcheck{%
+\ifx\temp %
+\expandafter\nonfillindentgobble%
+\else%
+\leavevmode\nonfillindentbox%
+\fi%
+}%
+\endgroup
+\def\nonfillindentgobble#1{\nonfillindent}
+\def\nonfillindentbox{\hbox to \nonfillparindent{\hss}}
+
% If you want all examples etc. small: @set dispenvsize small.
% If you want even small examples the full size: @set dispenvsize nosmall.
% This affects the following displayed environments:
%
\maketwodispenvs {lisp}{example}{%
\nonfillstart
- \tt\quoteexpand
+ \tt\setupmarkupstyle{example}%
\let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
\gobble % eat return
}
\do\ \do\\\do\{\do\}\do\$\do\&%
\do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~%
\do\<\do\>\do\|\do\@\do+\do\"%
+ % Don't do the quotes -- if we do, @set txicodequoteundirected and
+ % @set txicodequotebacktick will not have effect on @verb and
+ % @verbatim, and ?` and !` ligatures won't get disabled.
+ %\do\`\do\'%
}
%
% [Knuth] p. 380
\def\setupverb{%
\tt % easiest (and conventionally used) font for verbatim
\def\par{\leavevmode\endgraf}%
- \catcode`\`=\active
+ \setupmarkupstyle{verb}%
\tabeightspaces
% Respect line breaks,
% print special symbols as themselves, and
\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
%
\def\starttabbox{\setbox0=\hbox\bgroup}
-
-% Allow an option to not replace quotes with a regular directed right
-% quote/apostrophe (char 0x27), but instead use the undirected quote
-% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it
-% the default, but it works for pasting with more pdf viewers (at least
-% evince), the lilypond developers report. xpdf does work with the
-% regular 0x27.
-%
-\def\codequoteright{%
- \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
- \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
- '%
- \else \char'15 \fi
- \else \char'15 \fi
-}
-%
-% and a similar option for the left quote char vs. a grave accent.
-% Modern fonts display ASCII 0x60 as a grave accent, so some people like
-% the code environments to do likewise.
-%
-\def\codequoteleft{%
- \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
- \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
- \relax`% the \relax disables the `! and `? ligatures
- \else \char'22 \fi
- \else \char'22 \fi
-}
%
\begingroup
\catcode`\^^I=\active
\wd0=\dimen0 \box0 \starttabbox
}%
}
- \catcode`\'=\active
- \gdef\rquoteexpand{\catcode\rquoteChar=\active \def'{\codequoteright}}%
- %
- \catcode`\`=\active
- \gdef\lquoteexpand{\catcode\lquoteChar=\active \def`{\codequoteleft}}%
- %
- \gdef\quoteexpand{\rquoteexpand \lquoteexpand}%
\endgroup
% start the verbatim environment.
% Easiest (and conventionally used) font for verbatim
\tt
\def\par{\leavevmode\egroup\box0\endgraf}%
- \catcode`\`=\active
\tabexpand
- \quoteexpand
+ \setupmarkupstyle{verbatim}%
% Respect line breaks,
% print special symbols as themselves, and
% make each space count
%
% On the other hand, if an argument has two dashes (for instance), we
% want a way to get ttsl. Let's try @var for that.
- \let\var=\ttslanted
+ \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}%
#1%
\sl\hyphenchar\font=45
}
\gdef^^a8{\"{}}
\gdef^^a9{\copyright}
\gdef^^aa{\ordf}
- \gdef^^ab{\missingcharmsg{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}}
+ \gdef^^ab{\guillemetleft}
\gdef^^ac{$\lnot$}
\gdef^^ad{\-}
\gdef^^ae{\registeredsymbol}
\gdef^^b9{$^1$}
\gdef^^ba{\ordm}
%
- \gdef^^bb{\missingcharmsg{RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK}}
+ \gdef^^bb{\guilletright}
\gdef^^bc{$1\over4$}
\gdef^^bd{$1\over2$}
\gdef^^be{$3\over4$}
% Latin2 (ISO-8859-2) character definitions.
\def\lattwochardefs{%
\gdef^^a0{~}
- \gdef^^a1{\Aogonek}
+ \gdef^^a1{\ogonek{A}}
\gdef^^a2{\u{}}
\gdef^^a3{\L}
\gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
\gdef^^af{\dotaccent Z}
%
\gdef^^b0{\textdegree}
- \gdef^^b1{\aogonek}
+ \gdef^^b1{\ogonek{a}}
\gdef^^b2{\ogonek{ }}
\gdef^^b3{\l}
\gdef^^b4{\'{}}
\gdef^^c7{\cedilla C}
\gdef^^c8{\v C}
\gdef^^c9{\'E}
- \gdef^^ca{\Eogonek}
+ \gdef^^ca{\ogonek{E}}
\gdef^^cb{\"E}
\gdef^^cc{\v E}
\gdef^^cd{\'I}
\gdef^^e7{\cedilla c}
\gdef^^e8{\v c}
\gdef^^e9{\'e}
- \gdef^^ea{\eogonek}
+ \gdef^^ea{\ogonek{e}}
\gdef^^eb{\"e}
\gdef^^ec{\v e}
\gdef^^ed{\'\i}
\DeclareUnicodeCharacter{0101}{\=a}
\DeclareUnicodeCharacter{0102}{\u{A}}
\DeclareUnicodeCharacter{0103}{\u{a}}
- \DeclareUnicodeCharacter{0104}{\Aogonek}
- \DeclareUnicodeCharacter{0105}{\aogonek}
+ \DeclareUnicodeCharacter{0104}{\ogonek{A}}
+ \DeclareUnicodeCharacter{0105}{\ogonek{a}}
\DeclareUnicodeCharacter{0106}{\'C}
\DeclareUnicodeCharacter{0107}{\'c}
\DeclareUnicodeCharacter{0108}{\^C}
\DeclareUnicodeCharacter{0109}{\^c}
- \DeclareUnicodeCharacter{0118}{\Eogonek}
- \DeclareUnicodeCharacter{0119}{\eogonek}
+ \DeclareUnicodeCharacter{0118}{\ogonek{E}}
+ \DeclareUnicodeCharacter{0119}{\ogonek{e}}
\DeclareUnicodeCharacter{010A}{\dotaccent{C}}
\DeclareUnicodeCharacter{010B}{\dotaccent{c}}
\DeclareUnicodeCharacter{010C}{\v{C}}
\message{and turning on texinfo input format.}
+% DEL is a comment character, in case @c does not suffice.
+\catcode`\^^? = 14
+
% Define macros to output various characters with catcode for normal text.
\catcode`\"=\other
\catcode`\~=\other
@let>=@normalgreater
@let+=@normalplus
@let$=@normaldollar %$ font-lock fix
+ @markupsetuplqdefault
+ @markupsetuprqdefault
@unsepspaces
}
@c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we
@c don't make ` and ' active, @code will not get them as active chars.
@c Do this last of all since we use ` in the previous @catcode assignments.
-@c (not ready yet, sigh)
-@c atcode`@'=@active @let'@rq
-@c atcode`@`=@active @let`@lq
+@catcode`@'=@active
+@catcode`@`=@active
+@markupsetuplqdefault
+@markupsetuprqdefault
@c Local variables:
@c eval: (add-hook 'write-file-hooks 'time-stamp)