having experience from lilypond.org translation; see
http://git.sv.gnu.org/gitweb/?p=lilypond.git;a=blob_plain;f=README;hb=web/master
+If you do not have this experience, you may want to read the first two
+chapters of Git User's Manual at
+http://www.kernel.org/pub/software/scm/git/docs/user-manual.html
+
REQUIREMENTS
23 user/dedication.itely
423 user/macros.itexi
171 index.html.in
-6420 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)
-13831 total
+13757 total
-2- Introduction and beginning of Application Usage
411 user/preface.itely
-3- Learning manual
10318 user/fundamental.itely -- Fundamental concepts
-14581 user/tweaks.itely -- Tweaking output
+14647 user/tweaks.itely -- Tweaking output
3007 user/working.itely -- Working on LilyPond files
483 user/templates.itely -- Templates
-28389 total
+28455 total
-4- Notation reference
695 user/lilypond.tely
91 user/notation.itely -- Musical notation
-3086 user/pitches.itely
+3123 user/pitches.itely
5013 user/rhythms.itely
1146 user/expressive.itely
555 user/repeats.itely
1455 user/simultaneous.itely
1635 user/staff.itely
-906 user/editorial.itely
+895 user/editorial.itely
2286 user/text.itely
76 user/specialist.itely -- Specialist notation
2670 user/vocal.itely
-1333 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
-8444 user/spacing.itely -- Spacing issues
-11291 user/changing-defaults.itely -- Changing defaults
+8451 user/spacing.itely -- Spacing issues
+11391 user/changing-defaults.itely -- Changing defaults
5202 user/programming-interface.itely -- Interfaces for programmers
-1155 user/notation-appendices.itely -- Notation manual tables
+1190 user/notation-appendices.itely -- Notation manual tables
250 user/cheatsheet.itely -- Cheat sheet
-62390 total
+62690 total
-5- Application usage
-3185 user/lilypond-book.itely -- LilyPond-book
+3248 user/lilypond-book.itely -- LilyPond-book
1171 user/converters.itely -- Converting from other formats
-4356 total
+4419 total
-6- Appendices whose translation is optional
310 user/literature.itely
-·<p><i>Zuletzt aktualisiert am·Tue Dec 9 09:40:49 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
Reinhold Kainhofer</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
- <td><span style="background-color: #2cff20">teilweise</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>4 Die Ausgabe verändern<br>(14581)</td>
+ <td>4 Die Ausgabe verändern<br>(14647)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
- <td><span style="background-color: #2cff20">teilweise</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>4 @command{lilypond-book}: Noten in den Text integrieren<br>(3185)</td>
+ <td>4 @command{lilypond-book}: Noten in den Text integrieren<br>(3248)</td>
<td>Reinhold Kainhofer</td>
<td>Till Rettig</td>
<td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>1.1 Tonhöhen<br>(3086)</td>
+ <td>1.1 Tonhöhen<br>(3123)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>1.7 Anmerkungen<br>(906)</td>
+ <td>1.7 Anmerkungen<br>(895)</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.2 Tasteninstrumente und andere Instrumente mit mehreren Systemen<br>(725)</td>
+ <td>2.2 Tasteninstrumente und andere Instrumente mit mehreren Systemen<br>(744)</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>2.4 Saiteninstrumente mit Bünden<br>(1759)</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>vor-GDP</td>
</tr>
<tr align="left">
- <td>2.7 Notation von Akkorden<br>(1333)</td>
+ <td>2.7 Notation von Akkorden<br>(1464)</td>
<td>Till Rettig</td>
<td></td>
- <td><span style="background-color: #dfef77">teilweise (64 %)</span></td>
- <td><span style="background-color: #ff6f57">teilweise</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>
<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><span style="background-color: #ff6d58">teilweise</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
<td>2.9 Weltmusik<br>(1115)</td>
+ <td>Till Rettig</td>
<td></td>
- <td></td>
- <td><span style="background-color: #d0f0f8">nein</span></td>
- <td></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
<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: #ff8353">teilweise</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>
<tr align="left">
- <td>4 Abstände<br>(8444)</td>
+ <td>4 Abstände<br>(8451)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #dfef77">teilweise (3 %)</span></td>
- <td><span style="background-color: #fff73e">teilweise</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>5 Standardeinstellungen verändern<br>(11291)</td>
+ <td>5 Standardeinstellungen verändern<br>(11391)</td>
<td></td>
<td></td>
<td><span style="background-color: #d0f0f8">nein</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>B Notationsübersicht<br>(1155)</td>
+ <td>B Notationsübersicht<br>(1190)</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: #33ff21">teilweise</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
</table>
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: d0614c27e88dc7bd3993f3744a388749ba93b267
+ Translation of GIT committish: 4770e4e71ebff6104cad46bd2d889c3ff6ba3875
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: 4a527608c5ff2ce31e596495d00dce181dc1b9ea
+ 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.
@menu
-* Interpretation contexts::
-* Explaining the Internals Reference::
-* Modifying properties::
-* Useful concepts and properties::
-* Common properties::
-* Advanced tweaks::
-* Discussion of specific tweaks::
+* Interpretation contexts::
+* Explaining the Internals Reference::
+* Modifying properties::
+* Useful concepts and properties::
+* Advanced tweaks::
@end menu
@node Interpretation contexts
@menu
-* Contexts explained::
-* Creating contexts::
-* Modifying context plug-ins::
-* Changing context default settings::
-* Defining new contexts::
-* Aligning contexts::
+* Contexts explained::
+* Creating contexts::
+* Modifying context plug-ins::
+* Changing context default settings::
+* Defining new contexts::
+* Aligning contexts::
@end menu
@node Contexts explained
@menu
-* Score - the master of all contexts::
-* Top-level contexts - staff containers::
-* Intermediate-level contexts - staves::
-* Bottom-level contexts - voices::
+* Score - the master of all contexts::
+* Top-level contexts - staff containers::
+* Intermediate-level contexts - staves::
+* Bottom-level contexts - voices::
@end menu
@node Score - the master of all contexts
@menu
-* Navigating the program reference::
-* Layout interfaces::
-* Determining the grob property::
-* Naming conventions::
+* Navigating the program reference::
+* Layout interfaces::
+* Determining the grob property::
+* Naming conventions::
@end menu
@node Navigating the program reference
@menu
-* Overview of modifying properties::
-* The set command::
-* The override command::
-* set versus override::
-* The tweak command::
+* Overview of modifying properties::
+* The set command::
+* The override command::
+* The tweak command::
+* set versus override::
@end menu
@node Overview of modifying properties
@untranslated
-@node set versus override
-@subsection @code{\set} vs. @code{\override}
+@node The tweak command
+@subsection The @code{\tweak} command
@untranslated
-@node The tweak command
-@subsection The @code{\tweak} command
+@node set versus override
+@subsection @code{\set} vs. @code{\override}
@untranslated
@menu
-* Input modes::
-* Direction and placement::
-* Distances and measurements::
-* Spanners::
+* Input modes::
+* Direction and placement::
+* Distances and measurements::
+* Staff symbol properties::
+* Spanners::
+* Visibility of objects::
+* Line styles::
+* Rotating objects::
@end menu
@node Input modes
@untranslated
-@node Spanners
-@subsection Spanners
+@node Staff symbol properties
+@subsection Staff symbol properties
@untranslated
-@node Common properties
-@section Common properties
+@node Spanners
+@subsection Spanners
@untranslated
-@menu
-* Controlling visibility of objects::
-* Line styles::
-* Rotating objects::
-* Aligning objects::
-@end menu
-
-@node Controlling visibility of objects
-@subsection Controlling visibility of objects
+@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::
+* Removing the stencil::
+* Making objects transparent::
+* Painting objects white::
+* Using break-visibility::
+* Special considerations::
@end menu
@node Removing the stencil
@untranslated
-@node Aligning objects
-@subsection Aligning objects
+@menu
+* Rotating layout objects::
+* Rotating markup::
+@end menu
+
+@node Rotating layout objects
+@unnumberedsubsubsec Rotating layout objects
+
+@untranslated
+
+
+@node Rotating markup
+@unnumberedsubsubsec Rotating markup
@untranslated
@menu
-* Vertical grouping of grobs::
-* Modifying ends of spanners::
-* Modifying stencils::
-* Modifying shapes::
+* Aligning objects::
+* Vertical grouping of grobs::
+* Modifying stencils::
+* Modifying shapes::
@end menu
-@node Vertical grouping of grobs
-@subsection Vertical grouping of grobs
+@node Aligning objects
+@subsection Aligning objects
@untranslated
-@node Modifying ends of spanners
-@subsection Modifying ends of spanners
+@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-aligned-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 Modifying stencils
-@subsection Modifying stencils
+@node Using the @code{side-position-interface}
+@unnumberedsubsubsec Using the @code{side-position-interface}
@untranslated
-@node Modifying shapes
-@subsection Modifying shapes
+@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-aligned-interface}
+@unnumberedsubsubsec Using the @code{break-aligned-interface}
+
+@untranslated
+
+
+@node Vertical grouping of grobs
+@subsection Vertical grouping of grobs
@untranslated
-@node Discussion of specific tweaks
-@section Discussion of specific tweaks
+@node Modifying stencils
+@subsection Modifying stencils
+
+@untranslated
+
+
+@node Modifying shapes
+@subsection Modifying shapes
@untranslated
@menu
-* old Contexts explained::
+* Modifying ties and slurs::
@end menu
-@node old Contexts explained
-@subsection old Contexts explained
+@node Modifying ties and slurs
+@unnumberedsubsubsec Modifying ties and slurs
@untranslated
@c -*- coding: utf-8; mode: texinfo; -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: b54fc6953a8d70a3c51e8c3d0cbf9b3fe9652d78
+ Translation of GIT committish: 2c00bdbfaf62dd90863331c4713e6b29e32c9322
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@item @code{\new Lyrics}
-@tab Textausgabe
+@tab Gesangtext
@tab
@lilypond[fragment]
\new Lyrics \lyricmode { twinkle }
@end lilypond
@item @code{twin -- kle}
-@tab Text-Trennstrich
+@tab Gesangtext-Trennstrich
@tab
@lilypond[fragment,relative=2]
\set Staff.implicitTimeSignatureVisibility = #all-invisible
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 19fc0f930f921ca2609e0e60aa26f9d980771b97
+ 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.
@node Chord notation
@section Chord notation
-@untranslated
+@lilypondfile[quote]{chords-headword.ly}
+
+Akkorde können entweder als normale Noten oder im Akkordmodus
+notiert werden; bei letztere Eingabemethode können unterschiedliche
+europäische Akkordbezeichnungsstile eingesetzt werden. Akkordbzeichnungen
+und Generalbass können auch angezeigt werden.
@menu
* Chord mode::
@node Chord mode
@subsection Chord mode
-@untranslated
+@cindex Akkorde
+@cindex chord-Akkorde
+
+Im Akkordmodus (engl. @qq{chord}) werden Akkorde anhand von einem
+Symbol der erwünschten Akkordstruktur notiert, anstatt dass die
+einzelnen Tonhöhen ausgeschrieben werden.
@menu
* Chord mode overview::
* Extended and altered chords::
@end menu
-@c This material comes from 'Entering chord names' --FV
+
@node Chord mode overview
@unnumberedsubsubsec Chord mode overview
@cindex Akkordbezeichnungen
+@cindex Akkordmodus
-LilyPond bringt Unterstützung zur Ausgabe von Akkordsymbolen
-mit. Akkorde können entweder mithilfe der musikalischen
-Akkordeingabe (also @code{< ... >}) notiert werden, aber sie
-können auch mit ihren Bezeichnungen direkt eingegeben werden.
-Programmintern werden die Akkorde als eine Gruppe von Tonhöhen
-dargestellt und können somit transponiert werden.
+Akkorde können als simultane Noten eingegeben werden, wie gezeigt
+in @ref{Chorded notes}.
-@lilypond[quote,ragged-right,verbatim,ragged-right]
-twoWays = \transpose c c' {
- \chordmode {
- c1 f:sus4 bes/f
- }
- <c e g>
- <f bes c'>
- <f bes d'>
-}
+Akkorde können aber auch im Akkordmodus notiert werden. Das ist
+ein Eingabemodus, der sich an Akkordstrukturen traditioneller
+europäischer Musik und nicht an bestimmten einzelnen Tonhöhen
+orientiert. Er bietet sich an, wenn man es gewohnt ist, Akkordsymbole
+zur Beschreibung von Akkorden zu benutzen. Mehr Information zu
+unterschiedlichen Eingabemethoden findet sich in @ref{Input modes}.
+
+@lilypond[verbatim,quote,ragged-right,relative=1]
+\chordmode { c1 g a g c }
+@end lilypond
+
+Akkorde, die im Akkordmodus eingegeben werden, sind musikalische
+Elemente und können genauso wie Akkorde im Notenmodus
+transponiert werden.
+
+Akkordmodus und Notenmodus können gemischt verwendet werden:
-<< \new ChordNames \twoWays
- \new Voice \twoWays >>
+@lilypond[verbatim,quote,ragged-right,relative=1]
+<c e g>2 <g b d>
+\chordmode { c2 f }
+<c e g>2 <g' b d>
+\chordmode { f2 g }
@end lilypond
-Dieses Beispiel zeigt auch, dass die Ausgaberoutinen für die
-Akkordsymbole nicht besonders klug sind. Der letzte Akkord
-(@code{f bes d}) wird nicht als Umkehrung erkannt.
+@seealso
+Glossar:
+@rglos{chord}.
+
+Notationsreferenz:
+@ref{Chorded notes},
+@ref{Input modes}.
+
+Schnipsel:
+@rlsr{Chords}
-Achtung: Die Dauer eines Akkordes muss außerhalb der
-spitzen Klammern @code{<>} notiert werden.
-@example
-<c e g>2
-@end example
+@knownissues
+
+Wenn Akkord- und Notenmodus in linearer Musik abwechseln eingesetzt
+werden und der Akkordmodus am Anfang steht, erstellt der
+Notenmodus ein neues Notensyste:
+
+@lilypond[verbatim,quote,ragged-right,relative=1]
+\chordmode { c2 f }
+<c e g>2 <g' b d>
+@end lilypond
+
+@noindent
+Um dieses Verhalten zu verhindert, muss der @code{Staff}-Kontext
+explizit aufgerufen werden:
+
+@lilypond[verbatim,quote,ragged-right,relative=1]
+\new Staff {
+ \chordmode { c2 f }
+ <c e g>2 <g' b d>
+}
+@end lilypond
+
-@c This material comes from 'Chords mode' --FV
@node Common chords
@unnumberedsubsubsec Common chords
-@cindex Akkord-Modus
+@cindex Dreiklänge
+@cindex Septakkorde
+@cindex Grundton eines Akkords
+@cindex Akkordeigenschaften
+@cindex Umkehrungen
+@cindex Modifikatoren, Akkorde
+@cindex Modi, in Akkorden
+@cindex Akkordmodi
-Im Akkord-Modus wird eine Anzahl von Tonhöhen (ein Akkord)
-durch eine normale Notenbezeichnung notiert. Ein Akkord wird
-mit seinem Grundton notiert, der einfach wie eine normale
-Note geschrieben wird:
+Ein Dreiklang wird
+mit seinem Grundton mit einer möglichen Dauer dahinter notiert:
-@lilypond[quote,ragged-right,fragment,verbatim]
-\chordmode { es4. d8 c2 }
+@lilypond[verbatim,quote,relative=1,ragged-right]
+\chordmode { c2 f4 g }
@end lilypond
@noindent
-Dieser Modus wird mit dem @code{\chordmode}-Befehl aktiviert.
+Moll- übermäßige und verminderte Dreiklänge werden notiert, indem
+@code{:} und ein Modifikator hinter der Dauer angegeben wird:
-@cindex Akkord-Notation
-@cindex Eingabe von Akkorden
+@lilypond[verbatim,quote,ragged-right,relative=1]
+\chordmode { c2:m f4:aug g:dim }
+@end lilypond
-Andere als die Grundakkorde können notiert werden, indem an
-die Notenbezeichnung ein Doppelpunkt und eine Spezifizierung
-(die auch aus einer Zahl bestehen kann) angefügt wird.
+Septakkorde können erstellt werden:
-@lilypond[quote,fragment,verbatim]
-\chordmode { e1:m e1:7 e1:m7 }
+@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
+\chordmode { c1:7 c:m7 c:maj7 c:dim7 c:aug7 }
@end lilypond
-@noindent
-Die erste Zahl, die auf den Grundton folgt, wird als @qq{Art}
+@funindex aug
+@funindex dim
+@funindex maj
+@funindex m
+
+Diese Tabelle zeigt die Funktion der Modifikatoren von Dreiklängen
+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
+@multitable @columnfractions .2 .4 .3
+
+@item
+@b{Modifikator}
+@tab
+@b{Funktion}
+@tab
+@b{Beispiel}
+
+@item
+Kein
+@tab
+Standard: erzeugt einen Durdreiklang.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+ \override Staff.TimeSignature #'stencil = ##f
+ c1
+}
+@end lilypond
+
+@item
+m, m7
+@tab
+Mollakkord: Dieser Modifikator erniedrigt die dritte Stufe.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+ \override Staff.TimeSignature #'stencil = ##f
+ c1:m c:m7
+}
+@end lilypond
+
+
+@item
+dim, dim7
+@tab
+Verminderter Akkord: Dieser Modifikator erniedrigt die dritte, fünfte
+und (wenn vorhanden) die siebte Stufe.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+ \override Staff.TimeSignature #'stencil = ##f
+ c1:dim c:dim7
+}
+@end lilypond
+
+@item
+aug
+@tab
+Übermäßiger Akkord: Dieser Modifikator erhöht die fünfte Stufe.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+ \override Staff.TimeSignature #'stencil = ##f
+ c1:aug
+}
+@end lilypond
+
+@item
+maj, maj7
+@tab
+Großer Septakkord: Dieser Modifikator fügt eine erhöhte siebe
+Stufe hinzu. @code{7} nach dem @code{maj} ist optional. NICHT
+benutzen, um einen Durdreiklang zu notieren.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+ \override Staff.TimeSignature #'stencil = ##f
+ c1:maj c:maj7
+}
+@end lilypond
+
+@end multitable
+
+@seealso
+Notationsreferenz:
+@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
+
+@cindex erweiterte Akkorde
+@cindex veränderte Akkorde
+
+Akkordstrukturen können im Akkordmodus beliebig komplex konstruiert
+werden. Die Modifikatoren können benutzt werden, um den Akkord zu
+erweitern, bestimmte Stufen hinzuzufügen oder zu entfernen, Stufen
+zu erhöhen oder zu erniedrigen und Bassnoten hinzuzufügen bzw.
+Umgkehrungen zu erzeugen.
+
+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 (=Tonhöhe) erreicht ist.
-Eine Ausnahme ist @code{c:13}, weil hier die 11 ausgelassen wird.
+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
+13. Jeder größere Werte wird als 13 interpretiert.
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
+\chordmode {
+ c1:2 c:3 c:4 c:5
+ c1:6 c:7 c:8 c:9
+ c1:10 c:11 c:12 c:13
+ c1:14
+}
+@end lilypond
+
+@noindent
+Sowhohl @code{c:5} als auch @code{c} erzeugen einen D-Dur-Dreiklang.
+
+Da eine unveränderte 11 nicht gut klingt, wenn sie mit einer
+unveränderten 13 zusammenklingt, wird die 11 von einem @code{:13}-Akkord
+entfernt (es sei denn sie wird explizit verlangt).
-@lilypond[quote,fragment,verbatim]
-\chordmode { c:3 c:5 c:6 c:7 c:8 c:9 c:10 c:11 c:13 }
+@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
+\chordmode {
+ c1:13 c:13.11 c:m13
+}
@end lilypond
@cindex Grundton eines Akkordes
Kompliziertere Akkorde können auch konstruiert werden, indem
einzelne Intervalle zu dem Grundton addiert werden.
-Diese Additionen werden nach der ersten Zahl notiert und mit
-Punkten voneinander getrennt.
-
-@lilypond[quote,verbatim,fragment]
-\chordmode { c:5.6 c:3.7.8 c:3.6.13 }
+Diese Additionen werden nach dem Bereich notiert und mit
+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 {
+ c1:5.6 c:3.7.8 c:3.6.13
+}
@end lilypond
@noindent
-Einzelne Intervalle können mit @code{-} oder @code{+} vergrößert
-oder verkleinert werden.
+Hinzugefügte Stufen können beliebig groß sein:
-@lilypond[quote,verbatim,fragment]
-\chordmode { c:7+ c:5+.3- c:3-.5-.7- }
+@lilypond[quote,verbatim,fragment,relative=1]
+\chordmode {
+ c4:5.15 c:5.20 c:5.25 c:5.30
+}
@end lilypond
-@noindent
-Zu entfernende Töne werden mit der gleichen Methode notiert,
-allerdings mit einem Dach (@code{^}) vor der Sequenz, die
-nicht erscheinen soll. Sie müssen nach den zu addierenden
-Tönen notiert werden.
+@cindex Akkordstufen, Veränderung
+@cindex Akkordstufen, Alteration
+
+Einzelne Stufen können mit @code{-} oder @code{+} vergrößert
+oder verkleinert werden. Um eine Stufe zu verändert, die automatisch
+in den Akkord aufgenommen wurde, kann sie in veränderter Form
+nach dem Bereich hinzugefügt werden.
-@lilypond[quote,verbatim,fragment]
-\chordmode { c^3 c:7^5 c:9^3.5 }
+@lilypond[quote,verbatim,fragment,relative=1]
+\chordmode {
+ c1:7+ c:5+.3- c:3-.5-.7-
+}
@end lilypond
-Mit weiteren Endungen können Tonhöhen der Akkorde beeinflusst werden.
-Folgende Endungen sind unterstützt:
+@cindex Entfernen von Stufen in Akkorden
+@cindex Akkorde, Entfernen von Tönen
-@table @code
-@item m
-Der Moll-Akkord. Diese Endung erniedrigt die Terz (3) und die Septime (7),
-wenn vorhanden.
-
-@item dim
-Der verminderte Akkord. Diese Endung erniedrigt die Terz (3), Quinte (5)
-und Septime (7), wenn vorhanden.
-
-@item aug
-Der übermäßige Akkord. Diese Endung erhöht die Quinte (5).
-
-@item maj
-Der große Sept-Akkord. Diese Endung erhöht die Septime (7),
-wenn vorhanden.
-
-@item sus
-Der Sekundakkord. Diese Endung entfernt die Terz (3) aus dem
-Akkord. Schreiben Sie @code{2} oder @code{4} hinter die Endung,
-um entweder die Sekunde (2) oder die Quarte (4) zum Akkord
-hinzuzufügen.
-@end table
+@funindex ^
-Die Endungen können mit weiteren hinzugefügten Tönen kombiniert
-werden.
-@lilypond[quote,verbatim,fragment]
- \chordmode { c:sus4 c:7sus4 c:dim7 c:m6 }
+Zu entfernende Töne werden mit der gleichen Methode notiert,
+allerdings mit einem Dach (@code{^}) vor der Sequenz, die
+nicht erscheinen soll. Sie müssen nach den zu addierenden
+Tönen notiert werden. Die einzelnen zu entfernenden Töne werden
+mit Punkten getrennt.
+
+@lilypond[quote,verbatim,fragment,relative=1]
+\chordmode {
+ c1^3 c:7^5 c:9^3 c:9^3.5 c:13.11^3.7
+}
@end lilypond
-@cindex Modi, in Akkorden
-@cindex Akkordmodi
-@funindex aug
-@funindex dim
-@funindex maj
@funindex sus
-@funindex m
-Da der unveränderte elfte Ton in Verbindung mit einem unveränderten
-13. Ton nicht gut klingt, wird die 11 in diesem Fall automatisch
-entfernt (es sei denn, sie wird explizit gefordert).
+Sekund- und Quartakkorde können mit dem Modifikator @code{sus}
+notiert werden. Hiermit wird die dritte Stufe aus dem Akkord
+entfernt. Mit einer anschließenden @code{2} wird die zweite, mit
+einer @code{4} die vierte Stufe hinzugefügt. @code{sus} entspricht
+@code{^3} und @code{sus4} ist gleich @code{.4^3}.
@lilypond[quote,ragged-right,fragment,verbatim]
-\chordmode { c:13 c:13.11 c:m13 }
+\chordmode {
+ c1:sus c:sus2 c:sus4 c:5.4^3
+}
@end lilypond
+@cindex Umgekehrungen
+@cindex Bassnote in Akkorden
+
@funindex /
Eine Umkehrung (ein Ton des Akkordes wird unter den Grundton gesetzt)
-sowie auch Bassnoten können mit dem Schrägstrich (@code{/}) markiert
+sowie auch zusätzliche Bassnoten können mit dem Schrägstrich (@code{/}) markiert
werden:
-@lilypond[quote,ragged-right,fragment,verbatim]
-\chordmode { c1 c/g c/f }
+@lilypond[quote,ragged-right,fragment,verbatim, relative=2]
+\chordmode {
+ c1 c/g c/f
+}
@end lilypond
+
@funindex /+
-Eine Bassnote kann hinzugefügt werden, anstatt dass sie aus dem Akkord
-entnommen wird, indem noch ein Plus zwischen den Schrägstrich und
-die Tonhöhe gesetzt wird:
+Eine Bassnote, die zum Akkord hinzugehört, kann hinzugefügt werden,
+anstatt dass sie aus dem Akkord entnommen wird, indem noch ein
+Plus zwischen den Schrägstrich und die Tonhöhe gesetzt wird:
@lilypond[quote,ragged-right,fragment,verbatim]
-\chordmode { c1 c/+g c/+f }
+\chordmode {
+ c1 c/g c/+g
+}
@end lilypond
-Der Akkord-Modus funktioniert ähnlich wie der Liedtext-Modus
-(@code{\lyricmode}) usw. Die meisten Befehle funktionieren weiter,
-so können etwa @code{r} und @code{\skip} benutzt werden,
-um Pausen und Zwischenräume einzufügen. Mit Eigenschaftsbefehlen
-können verschiedene Einstellungen verändert werden.
+Akkordmodifikatoren, die benutzt werden können, um eine große
+Anzahl an Standardakkorden zu erzeugen, werden gezeigt in
+@ref{Common chord modifiers}.
+
+@seealso
+Notationsreferenz:
+@ref{Common chord modifiers}.
+
+Schnipsel:
+@rlsr{Chords}
@knownissues
-Jedes Intervall kann nur einmal in einem Akkord vorkommen.
-Im folgenden Beispiel wird nur der erweiterte Akkord erstellt,
-weil @code{5+} als letztes kommt.
+Jede Stufe kann nur einmal in einem Akkord vorkommen.
+Im folgenden Beispiel wird ein erweiterter Akkord erstellt,
+weil @code{5+} zuletzt gelesen wird.
@cindex Cluster
@lilypond[quote,ragged-right,verbatim,fragment]
-\chordmode { c:5.5-.5+ }
+\chordmode {
+ c:5.5-.5+
+}
@end lilypond
-@node Extended and altered chords
-@unnumberedsubsubsec Extended and altered chords
+Nur die zweite Umkehrung kann erstellt werden, indem eine
+Bassnote hinzugefügt wird. Die erste Umkehrung erfordert, dass
+der Grundton des Akkordes geändert wird.
+
+@lilypond[quote,ragged-right,verbatim,fragment]
+\chordmode {
+ c'1: c':/g e:6-3-^5 e:m6-^5
+}
+@end lilypond
-@untranslated
@node Displaying chords
@subsection Displaying chords
-@untranslated
+Akkorde können zusätzlich zur üblichen Notation als Töne auf
+einem Notensystem auch mit einem Akkordsymbol gesetzt werden.
@menu
* Printing chord names::
@node Printing chord names
@unnumberedsubsubsec Printing chord names
+@funindex ChordNames
+
@cindex Akkordsymbole
+@cindex Akkordbezeichnungen
@cindex Ausgabe von Akkordbezeichnungen
-@cindex Akkorde
@cindex Symbole, Akkord-
-Um Akkordsymbole anstelle der Noten zu setzen, muss der
-@rinternals{ChordNames}-Kontext. Die Akkorde können entweder
-mit der Notation aus dem vorigen Abschnitt oder direkt
-mit der Akkordeingabe für Noten (@code{<} und @code{>})
-notiert werden.
+Akkordsymbole anstelle der Noten werde im @code{ChordNames}-Kontext
+notiert.
-@lilypond[quote,verbatim,ragged-right]
-harmonies = {
- \chordmode {a1 b c} <d' f' a'> <e' g' b'>
+@lilypond[verbatim,quote,relative=1,ragged-right]
+\new ChordNames {
+ \chordmode {
+ c2 f4. g8
+ }
}
-<<
- \new ChordNames \harmonies
- \new Staff \harmonies
->>
@end lilypond
-Sie können Akkordwiederholungen unterdrücken, so dass nur
-bei einer Änderung des Akkordes ein Symbol ausgegeben wird.
-Das aktuelle Symbol wird auch am Zeilenanfang wiederholt.
-Das geschieht mit dem Befehl @code{\set chordChanges = ##t}.
+Die Akkorde können entweder als simultane Noten oder unter Einsatz
+des Akkordmodus (@code{chordmode}) notiert werden. Der angezeigte
+Akkord ist der gleiche, es sei denn, Umgkehrungen oder zusätzliche
+Basstöne werden notiert:
-@lilypond[quote,verbatim,ragged-right]
-harmonies = \chordmode {
- c1:m c:m \break c:m c:m d
-}
+@lilypond[verbatim,quote,relative=1]
<<
\new ChordNames {
- \set chordChanges = ##t
- \harmonies }
- \new Staff \transpose c c' \harmonies
+ <c e g>2 <f bes c>
+ <f c' e g>1
+ \chordmode {
+ c2 f:sus4 c1:/f
+ }
+ }
+ {
+ <c e g>2 <f bes c>
+ <f, c' e g>1
+ \chordmode {
+ c2 f:sus4 c1:/f
+ }
+ }
>>
@end lilypond
-In den vorangegangenen Beispielen wurden alle Akkorde über dem
-Notensystem mit den entsprechenden Noten ausgegeben. Das ist aber
-nicht erforderlich. Akkorde können auch alleine gedruckt werden.
-Dabei kann es nötig sein, @rinternals{Volta_engraver} und
-@rinternals{Bar_engraver} einzufügen, damit Wiederholungen
-angezeigt werden.
+@funindex{\chords}
-@lilypond[ragged-right,verbatim]
-\new ChordNames \with {
- \override BarLine #'bar-size = #4
- \consists Bar_engraver
- \consists "Volta_engraver"
-}
-\chordmode { \repeat volta 2 {
- f1:maj7 f:7 bes:7
- c:maj7
-} \alternative {
- es e
+@code{\chords @{ ... @}} ist eine Kurznotation für die Bezeichnung
+@code{\new ChordNames @{ \chordmode @{ ... @} @}}.
+
+@lilypond[verbatim,quote,ragged-right, relative=1]
+\chords {
+ c2 f4.:m g8:maj7
}
+@end lilypond
+
+@lilypond[verbatim,quote,ragged-right, relative=1]
+\new ChordNames {
+ \chordmode {
+ c2 f4.:m g8:maj7
+ }
}
@end lilypond
+@snippets
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{showing-chords-at-changes.ly}
+
+@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@c {adding-bar-lines-to-chordnames-context.ly}
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{simple-lead-sheet.ly}
+
+
+@seealso
+Glossar:
+@rglos{chord}.
+
+Notationsreferenz:
+@ref{Writing music in parallel}.
+
+Schnipsel:
+@rlsr{Chords}.
+
+Referenz der Interna:
+@rinternals{ChordNames},
+@rinternals{ChordName},
+@rinternals{Chord_name_engraver},
+@rinternals{Volta_engraver},
+@rinternals{Bar_engraver}.
+
+@knownissues
+
+Akkorde, die Umkehrungen oder zusätzliche Basstöne beinhalten,
+werden nicht richtig bezeichnet, wenn sie im Notenmodus notiert
+werden.
+
+
+
+@node Customizing chord names
+@unnumberedsubsubsec Customizing chord names
+
+@cindex Anpassen von Akkordsymbolen
+@cindex Akkordsymbole, anpassen
+
+Es gibt kein allein gültiges System zur Benennung von Akkorden.
+Unterschiedliche Musiktraditionen benutzen unterschiedliche Bezeichnungen
+für die gleichen Akkorde. Es gibt zusätzlich auch unterschiedliche
+Symbole, die für den gleichen Akkord angezeigt werden können. Die
+Bezeichnungen und dargestellten Symbole können angepasst werden.
+
Die Standardeinstellungen für die Symbole entsprechen den Konventionen
im Jazz, wie sie von Klaus Ignatzek (siehe @ref{Literature list}).
-vorgeschlagen wurden. Mit den folgenden Befehlen könne aber
-Anpassungen vorgenommen werden:
+vorgeschlagen wurden. Das Benennungssystem für die Akkorde kann
+verändert werden, wie weiter unten gezeigt wird. Ein alternatives
+Notationssystem für Jazzakkorde ist auch erhältlich. Die
+Ignatzek und die alternative Jazznotation finden sich in der Tabelle in
+@ref{Chord name chart}.
+
+@c TODO -- Change this so we don't have a non-verbatim example.
+@c Make short example in docs, then move longer example to
+@c appendix, where the length of the snippet won't matter.
+
+Zusätzlich zu den unterschiedlichen Bezeichnungssystemen werden
+unterschiedliche Notenbezeichnungen für die Grundtöne.
+Die vordefinierten Befehle @code{\germanChords},
+@code{\semiGermanChords}, @code{\italianChords} und @code{\frenchChords}
+setzen diese Variablen. Die Auswirkungen werden im nächsten Beispiel
+gezeigt.
+
+@lilypondfile[ragged-right]{chord-names-languages.ly}
+
+Wenn keine der definierten Einstellungen zum gewünschten Ergebnis
+führt, kann die Anzeige des Akkordsymbols durch die folgenden
+Eigenschaften verändert werden:
@table @code
-@funindex chordNameExceptions
-@item chordNameExceptions
-Das ist eine Liste, die alle Akkorde aufführt, die ungewöhnliche
-Form haben.
-Die Liste muss nach dem Schema
-@example
-@{ <c f g bes>1 \markup @{ \super "7" "wahh" @} @}
-@end example
-@noindent
-gesetzt werden.
-
-Diese Liste in die @code{chordNameExceptions}-Funktion einzulesen
-ist allerdings etwas kompliziert. Mit dem folgenden Code-Abschnitt
-wird @code{chExceptionMusic} (aufeinander folgende
-Noten) in eine Ausnahmeliste umgewandelt:
-@example
-(sequential-music-to-chord-exceptions chExceptionMusic #t)
-@end example
-Dann werden mit dem Code
-@example
-(append
- (sequential-music-to-chord-exceptions chExceptionMusic #t)
- ignatzekExceptions)
-@end example
-die neuen Ausnahmen zu den schon vorhandenen hinzugefügt, die in
-der Datei @file{ly/@/chord@/-modifier@/-init@/.ly} definiert sind.
-
-@c Ein Beispiel für die Benutzung dieser Eigenschaft findet sich
-@c auch in der Datei @lsr{chords,chord@/-name@/-exceptions@/.ly}.
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{chord-name-exceptions.ly}
+@funindex chordRootNamer
-@cindex Ausnahmen, Akkordsymbole
+@item chordRootNamer
+
+Das Akkordsymbol wird normalerweise als Buchstabe des Grundtons mit
+optionaler Alteration dargestellt. Die Interpretation
+einer Tonhöhe als Buchstabe wird von der @code{chordRootNamer}-Funktion
+übernommen. Besondere Bezeichnungen, wie etwa im Deutschen H für
+einen H-Dur-Akkord (und nicht @qq{B} wie im Englischen), können
+durch Hinzufügen einer neuen Funktion zu dieser Eigenschaft
+erstellt werden.
@funindex majorSevenSymbol
+
@item majorSevenSymbol
+
Mit dieser Eigenschaft wird das Aussehen der Notation für die
-große Septime (7) bestimmt. Vordefiniert sind die Optionen
+große Septime (7) bestimmt. Vordefiniert sind die Optionen
@code{whiteTriangleMarkup} und @code{blackTriangleMarkup}.
-@c Siehe auch
-@c @lsr{chords,chord@/-name@/-major7@/.ly} für ein Beispiel.
+
+@funindex chordNoteNamer
+
+@item chordNoteNamer
+
+Wenn das Akkordsymbol zusätzliche Tonhöhen enthält, die nicht den
+Grundton darstellen (etwa eine zusätzliche Bassnote), wird diese
+Funktion eingesetzt, um die zusätzliche Tonhöhe auszugeben.
+In den Standardeinstellungen wird die Tonhöhe mit der
+@code{chordRootNamer}-Funktion gesetzt. Die
+@code{chordNoteNamer}-Eigenschaft hingegen kann dieses Verhalten
+verändern und etwa den Basston etwa als Kleinbuchstaben darstellen.
@funindex chordNameSeparator
+
@item chordNameSeparator
+
Verschiedene Teile eines Akkordsymboles werden normalerweise
durch einen Schrägstrich markiert. Indem @code{chordNameSeparator}
-ein anderer Wert zugewiesen wird, kann das Aussehen des Trenners
-verändert werden, z. B.:
-@lilypond[quote,ragged-right,fragment,verbatim]
-\new ChordNames \chordmode {
- c:7sus4
- \set chordNameSeparator
- = \markup { \typewriter "|" }
- c:7sus4
-}
-@end lilypond
+ein anderer Wert zugewiesen wird, kann ein beliebiges Zeichen für
+den Trenner benutzt werden.
-@funindex chordRootNamer
-@item chordRootNamer
-Der Grundton eines Akkordes wird normalerweise als Buchstabe mit
-optionaler Erhöhung oder Erniedrigung dargestellt. Die Interpretation
-einer Tonhöhe als Buchstabe wird von der @code{chordRootNamer}-Eigenschaft
-übernommen. Besondere Bezeichnungen, wie etwa im Deutschen H für
-einen H-Dur-Akkord (und nicht @qq{B} wie im Englischen), können
-durch Hinzufügen einer neuen Funktion zu dieser Eigenschaft
-erstellt werden.
+@funindex chordNameExceptions
-@funindex chordNoteNamer
-@item chordNoteNamer
-In den Standardeinstellungen wird ein einziger Buchstabe für einen
-Akkord ausgegeben, nämlich sein Grundton, der von der
-@code{chordRootNamer}-Eigenschaft bestimmt wird. Die
-@code{chordNoteNamer}-Eigenschaft hingegen kann das Aussehen dieses
-Buchstaben ändern, ihn etwa als Klein- und nicht als Großbuchstabe
-darstellen.
+@item chordNameExceptions
+
+Diese Funktion ist eine Liste mit Paaren. Das erste Objekt eines
+Paares ist eine Anzahl von Tonhöhen, die die Stufen eines Akkordes
+definieren. Das zweite Objekt ist eine Beschriftung, die nach
+@code{chordRootNamer} ausgegeben wird, um das Akkordsymbol zu
+erstellen.
@funindex chordPrefixSpacer
+
@item chordPrefixSpacer
+
Das @qq{m} für Moll-Akkorde wird normalerweise direkt hinter dem
Akkordbuchstaben gesetzt. Mit der Eigenschaft @code{chordPrefixSpacer}
kann ein Abstand(halter) zwischen den Buchstaben und das @qq{m}
@end table
-Die vordefinierten Befehle @code{\germanChords},
-@code{\semiGermanChords}, @code{\italianChords} und @code{\frenchChords}
-benutzen diese Variablen. Die Auswirkungen werden im nächsten Beispiel
-gezeigt.
-
-@lilypondfile[ragged-right]{chord-names-languages.ly}
-
-Zusätzlich sind zwei weitere Vorlagen: eine alternative Jazz-Notation
-und eine systematische Notation, genannt Banter-Akkorde. Die
-alternative Jazz-Notation findet sich auch in der Liste im
-Abschnitt @ref{Chord name chart}.
-
-@c Wie diese Stile verwendet werden,
-@c wird in der Datei
-@c @lsr{chords,chord-names-jazz.ly} gezeigt.
-
-@cindex Banter
-@cindex Jazz-Akkorde
-@cindex Akkorde, Jazz
-
-
@predefined
+@funindex major seven symbols
+@code{\whiteTriangleMarkup},
+@code{\blackTriangleMarkup},
@funindex \germanChords
@code{\germanChords},
@funindex \semiGermanChords
-@code{\semiGermanChords}.
+@code{\semiGermanChords},
@funindex \italianChords
-@code{\italianChords}.
+@code{\italianChords},
@funindex \frenchChords
@code{\frenchChords}.
@endpredefined
+@snippets
+
+@cindex Ausnahmen, Akkordsymbole
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{chord-name-exceptions.ly}
+
+@c TODO - tweak snippet to use \blackTriangleMarkup as well
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{chord-name-major7.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{adding-bar-lines-to-chordnames-context.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{volta-below-chords.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{changing-chord-separator.ly}
+
@seealso
-Beispiele:
-@rlsr{Chords}.
+Notationsreferenz:
+@ref{Chord name chart},
+@ref{Common chord modifiers}.
+
+Installierte Dateien:
+@file{scm/@/chords@/-ignatzek@/.scm},
+@file{scm/@/chord@/-entry@/.scm},
+@file{ly/@/chord@/-modifier@/-init@/.ly}.
-Init-Dateien: @file{scm/@/chords@/-ignatzek@/.scm} und
-@file{scm/@/chord@/-entry@/.scm}.
+Schnipsel:
+@rlsr{Chords}.
+@c Internals Reference:
+@c @r internals{}.
@knownissues
-Akkordsymbole werden nur von den Tonhöhenbezeichnungen bestimmt.
-Akkordumkehrungen sind nicht definiert, noch werden Bassnoten
-hinzugefügt. Deshalb kann es zu seltsamen Akkord-Symbolen kommen,
-wenn die Akkorde mit der @code{< ... >} Syntax notiert werden.
+Akkordsymbole werden von den Tonhöhenbezeichnungen innerhalb des
+Akkordes und der Information über die Akkordstruktur, die innerhalb
+von @code{\chordmode} notiert wurde, bestimmt. Wenn der direkte
+Notenmodus benutzt wird, stammen unerwünschte Bezeichnungen daher,
+dass Umgkehrungen und zustätzliche Bassnoten nicht richtig
+interpretiert werden.
+
+@lilypond[quote,ragged-right,verbatim]
+myChords = \relative c' {
+ \chordmode { c1 c/g c/f }
+ <c e g>1 <g c e> <f c' e g>
+}
+<<
+ \new ChordNames { \myChords }
+ \new Staff { \myChords }
+>>
+@end lilypond
+
-@node Customizing chord names
-@unnumberedsubsubsec Customizing chord names
-@untranslated
@node Figured bass
@subsection Figured bass
-@untranslated
+@lilypondfile[quote]{figured-bass-headword.ly}
+
+Generalbassnotation kann dargestellt werden.
@menu
* Introduction to figured bass::
* Displaying figured bass::
@end menu
-@c This material comes from 'Figured bass', needs redistribution by translator --FV
+
@node Introduction to figured bass
@unnumberedsubsubsec Introduction to figured bass
@cindex Basso continuo
@cindex Generalbass
@cindex Bezifferter Bass
+@cindex Continuo, Generalbass
@c TODO: musicological blurb about FB
-LilyPond stellt Unterstützung für Generalbassnotation zur Verfügung.
+LilyPond stellt Unterstützung für Generalbassnotation, auch als
+Basso Continuo bezeichnet, zur Verfügung.
@lilypond[quote,ragged-right,verbatim,fragment]
<<
\new Voice { \clef bass dis4 c d ais g fis}
- \new FiguredBass \figuremode {
- < 6 >4 < 7\+ >8 < 6+ [_!] >
- < 6 >4 <6 5 [3+] >
- < _ >4 < 6 5/>4
+ \new FiguredBass {
+ \figuremode {
+ < 6 >4 < 7\+ >8 < 6+ [_!] >
+ < 6 >4 <6 5 [3+] >
+ < _ >4 < 6 5/>4
+ }
}
>>
@end lilypond
-Die Unterstützung besteht aus zwei Teilen: Es gibt einen Eingabe-Modus,
-aktiviert durch den Befehl @code{\figuremode}, in dem Ziffern für den Bass
-als Nummern eingegeben werden können, und einen Kontext
- @rinternals{FiguredBass}, der dafür sorgt, dass die entsprechenden
- @rinternals{BassFigure}-Objekte auch erstellt werden.
+Die Unterstützung für Generalbass besteht aus zwei Teilen: Es gibt
+einen Eingabe-Modus, aktiviert durch den Befehl @code{\figuremode},
+in dem Ziffern für den Bass als Nummern eingegeben werden können,
+und einen Kontext @code{FiguredBass}, der dafür sorgt, dass die
+entsprechenden @code{BassFigure}-Objekte auch erstellt werden.
+Generalbass kann auch in einem @code{Staff}-Kontext dargestellt
+werden.
+
+@code{\figures@{ ... @}} ist eine Kurznotation für
+@code{\new FiguredBass @{ \figuremode @{ ... @} @}}.
-Im Eingabemodus wird eine Gruppe von Bassziffern mit den Zeichen
+Auch wenn die Unterstützung für Generalbass auf den ersten Blick
+wie die Akkordunterstützung ausschauen mag, ist sie sehr viel
+einfacher. @code{\figuremode} speichert einfach die Zahlen und der
+@code{FiguredBass}-Kontext setzt sie in der Form, wie sie notiert
+wurden. Sie werden nicht in Tonhöhen umgewandelt.
+
+@seealso
+Glossar:
+@rglos{figured bass}.
+
+Schnipsel:
+@rlsr{Chords}
+
+
+@node Entering figured bass
+@unnumberedsubsubsec Entering figured bass
+
+@code{\figuremode} (Zahlenmodus) wird benutzt, um den Eingabemodus
+auf den Zahlenmodus umzustellen. Mehr Information zu unterschiedlichen
+Eingabemodi findet sich in @ref{Input modes}.
+
+Im Zahlenmodus wird eine Gruppe von Bassziffern mit den Zeichen
@code{<} and @code{>} begrenzt. Die Dauer wird nach dem @code{>}-Zeichen
eingegeben.
-@example
-<4 6>
-@end example
-@lilypond[quote,ragged-right,fragment]
-\new FiguredBass
-\figuremode { <4 6> }
+@lilypond[verbatim,quote,ragged-right,fragment]
+\new FiguredBass {
+ \figuremode {
+ <6 4>2
+ }
+}
+@end lilypond
+
+Versetzungszeichen (inklusive Auflösungszeichen) können hinzugefügt
+werden:
+
+@lilypond[verbatim,quote,ragged-right,fragment]
+\figures {
+ <7! 6+ 4-> <5++> <3-->
+}
@end lilypond
-Versetzungszeichen werden durch Anhängen von @code{-}, @code{!} und @code{+}
-hinter die Nummern erreicht. Ein Pluszeichen wird mit dem Befehl @code{\+}
-gesetzt, verminderte Quinten und Septimen mit @code{5/} und @code{7/}.
+Übermäßige und verminderte Stufen können dargestellt werden:
-@example
-<4- 6+ 7!> <5++> <3--> <7/> r <6\+ 5/>
-@end example
-@lilypond[quote,ragged-right,fragment]
-\figures { <4- 6+ 7!> <5++> <3--> <7/> r <6\+ 5/> }
+@lilypond[verbatim,quote,ragged-right,fragment]
+\figures {
+ <6\+ 5/> <7/>
+}
@end lilypond
-Pausen können mit @code{_} notiert werden. Klammern werden mit @code{[}
-und @code{]} gesetzt. Text kann auch eingefügt werden nach den Regeln im
-Abschnitt @ref{Text markup commands}.
+Ein Schrägstrich von links nach rechts (üblicherweise für erhöhte
+Sexten benutzt) kann erstellt werden:
-@example
-< [4 6] 8 [_! 12] > < 5 \markup @{ \number 6 \super (1) @} >
-@end example
-@lilypond[quote,ragged-right,fragment]
-\new FiguredBass
-\figuremode { < [4 6] 8 [_! 12] > < 5 \markup{ \tiny \number 6 \super (1)} > }
+@lilypond[verbatim,quote,ragged-right,fragment]
+\figures {
+ <6> <6\\>
+}
@end lilypond
-Es ist auch möglich, Vortsetzungslinien für wiederholte Ziffern zu benutzen.
+Vertikaler Platz und Klammern können zu den Zahlen hinzugefügt
+werden:
+
+@lilypond[verbatim,quote,ragged-right,fragment]
+\figures {
+ <[12 _!] 8 [6 4]>
+}
+@end lilypond
-@lilypond[verbatim,relative=1]
+Beliebiger Text kann als Zahl notiert werden:
+
+@lilypond[verbatim,quote,ragged-right,fragment]
+\figures {
+ <\markup { \tiny \number 6 \super (1) } 5>
+}
+@end lilypond
+
+Es ist auch möglich, Fortsetzungslinien für wiederholte Ziffern zu benutzen.
+
+@lilypond[verbatim,quote,ragged-right,fragment]
<<
- \new Staff {
+ {
\clef bass
- c4 c c
+ e4 d c b,
+ e4 d c b,
}
\figures {
- \set useBassFigureExtenders = ##t
- <4 6> <3 6> <3 7>
+ \bassFigureExtendersOn
+ <6 4>4 <6 3> <7 3> <7 3>
+ \bassFigureExtendersOff
+ <6 4>4 <6 3> <7 3> <7 3>
}
>>
@end lilypond
@noindent
-In diesem Fall werden wiederholte Ziffern immer durch eine Linie ersetzt.
-
-Der @code{FiguredBass}-Kontext kümmert sich nicht um die aktuelle Basslinie.
-Als Konsequenz müssen eventuell zusätzliche Ziffern eingefügt werden, um
-Linien unter alle Noten zu erhalten, und die Verwendung von @code{\!}
-kann nötig werden, um zu lange Linien zu stoppen.
+In diesem Fall werden wiederholte Ziffern immer durch eine Linie ersetzt, es sei denn, die Linie wird explizit beendet.
-@lilypond[relative=1]
+@lilypond[verbatim,quote,ragged-right,fragment]
<<
- \new Voice
\figures {
- \set useBassFigureExtenders = ##t
- <6 4->4. <6 4->16. <6 4->32 <5>8. r16 <6>8 <6\! 5->
+ \bassFigureExtendersOn
+ <6 4>4 <6 4> <6\! 4\!> <6 4>
}
{
\clef bass
- f16. g32 f16. g32 f16. g32 f16. g32 f8. es16 d8 es
+ d4 d c c
}
>>
@end lilypond
-Bei der Benutzung von Linien werden gemeinsame Ziffern immer in die
-gleiche vertikale Position gesetzt. Wenn dies nicht gewünscht ist,
-können Pausen (@code{r}) eingefügt werden. Dadurch wird die vorangegangene
-Positionierung aufgehoben. So kann man etwa
-
-@example
- <4 6>8 r8
-@end example
-@noindent
-anstelle von
-@example
- <4 6>4
-@end example
+Die folgende Tabelle zeigt die vorhandenen Zahlenmodifikatoren:
+
+@multitable @columnfractions .1 .5 .4
+
+@item
+@b{Modifier}
+@tab
+@b{Purpose}
+@tab
+@b{Example}
+
+@item
++, -, !
+@tab
+Accidentals
+@tab
+@lilypond[line-width=4\cm]
+\figures {
+ <7! 6+ 4-> <5++> <3-->
+}
+@end lilypond
-@noindent
-schreiben.
+@item
+\+, /
+@tab
+Augmented and diminished steps
+@tab
+@lilypond[line-width=4\cm]
+\figures {
+ <6\+ 5/> <7/>
+}
+@end lilypond
-Versetzungszeichen und Pluszeichen können vor oder nach den Ziffern stehen,
-abhängig von den @code{figuredBassAlterationDirection}- und
-@code{figuredBassPlusDirection}-Eigenschaften.
+@item
+\\
+@tab
+Raised sixth step
+@tab
+@lilypond[line-width=4\cm]
+\figures {
+ <6\\>
+}
+@end lilypond
-@lilypond
+@item
+\!
+@tab
+End of continuation line
+@tab
+@lilypond[line-width=4\cm]
+<<
\figures {
- <6\+> <5+> <6 4-> r
- \set figuredBassAlterationDirection = #1
- <6\+> <5+> <6 4-> r
- \set figuredBassPlusDirection = #1
- <6\+> <5+> <6 4-> r
- \set figuredBassAlterationDirection = #-1
- <6\+> <5+> <6 4-> r
+ \bassFigureExtendersOn
+ <6 4> <6 4> <6\! 4\!> <6 4>
}
+ {
+ \clef bass
+ d d c c
+ }
+>>
@end lilypond
-Auch wenn die Unterstützung für bezifferten Bass anscheinend an die
-Akkord-Notation erinnert, ist sie doch sehr viel einfacher. Der Modus
-@code{\figuremode} speichert einfach die Ziffern und der
-@rinternals{FiguredBass}-Kontext gibt sie so aus, wie sie notiert
-werden. Es gibt also keine Umrechnung von Tonhöhen und die Notation
-wird in der MIDI-Datei nicht umgesetzt.
+@end multitable
-Programmintern erstellt die Funktion einfache Textbeschriftung. Somit
-sind alle Textbeschriftungsbefehle verfügbar, um die Formatierungen zu
-verändern. So kann zum Beispiel die vertikale Position der Ziffern mit
-@code{baseline-skip} gesetzt werden.
+@predefined
+@cindex Generalbass Fortsetzungslinie
+@code{\bassFigureExtendersOn},
+@code{\bassFigureExtendersOff}.
+@endpredefined
-Bassziffern können auch direkt einem Notensystemkontext (@code{Staff})
-hinzugefügt werden. In diesem Fall wird ihre vertikale Position automatisch
-bestimmt.
-@lilypond[ragged-right,fragment,quote]
+@snippets
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{changing-the-positions-of-figured-bass-alterations.ly}
+
+
+@seealso
+Schnipsel:
+@rlsr{Chords}.
+
+Referenz der Interna:
+@rinternals{BassFigure},
+@rinternals{BassFigureAlignment},
+@rinternals{BassFigureLine},
+@rinternals{BassFigureBracket},
+@rinternals{BassFigureContinuation},
+@rinternals{FiguredBass}.
+
+
+
+@node Displaying figured bass
+@unnumberedsubsubsec Displaying figured bass
+
+Generalbass kann mit dem @code{FiguredBass}-Kontext, aber auch in
+den meisten anderen @code{Staff}-Kontexten dargestellt werden.
+
+Wenn die Ziffern im @code{FiguredBass}-Kontext dargestellt werden,
+ist die vertikale Position der Ziffern unabhängig von den Noten
+des paralellen Systems.
+
+@lilypond[verbatim,ragged-right,fragment,quote]
<<
- \new Staff = someUniqueName
\relative c'' {
c4 c'8 r8 c,4 c'
}
+ \new FiguredBass {
+ \figuremode {
+ <4>4 <10 6>8 s8
+ <6 4>4 <6 4>
+ }
+ }
+>>
+@end lilypond
- %% send to existing Staff.
- \context Staff = someUniqueName
- \figuremode {
- <4>4 <6 10>8 s8
+In diesem Beispiel muss der @code{FiguredBass}-Kontext explizit
+erstellt werden, damit kein zusätzliches (leeres) Notensystem
+erstellt wird.
+
+Bassziffern können auch direkt einem Notensystemkontext (@code{Staff})
+hinzugefügt werden. In diesem Fall wird ihre vertikale Position automatisch
+bestimmt.
- \set Staff.useBassFigureExtenders = ##t
- <4 6>4 <4 6>
+@lilypond[verbatim,ragged-right,fragment,quote]
+<<
+ \new Staff = myStaff
+ \figuremode {
+ <4>4 <10 6>8 s8
+ <6 4>4 <6 4>
+ }
+ %% Put notes on same Staff as figures
+ \context Staff = myStaff
+ {
+ \clef bass
+ c4 c'8 r8 c4 c'
}
>>
@end lilypond
-@commonprop
+Wenn Generalbass zu einem vorhandenen System hinzugefügt wird, ist
+es möglich, die Ziffern über oder unter dem System anzuzeigen:
-In der Standardeinstellung werden die Bassziffern über den Noten
-ausgegeben. Um Ziffern unter den Noten zu erhalten, kann der
-Befehl
+@lilypond[verbatim,ragged-right,fragment,quote]
+<<
+ \new Staff = myStaff
+ \figuremode {
+ <4>4 <10 6>8 s8
+ \bassFigureStaffAlignmentDown
+ <6 4>4 <6 4>
+ }
+ %% Put notes on same Staff as figures
+ \context Staff = myStaff
+ {
+ \clef bass
+ c4 c'8 r8 c4 c'
+ }
+>>
+@end lilypond
-@example
-\override Staff.BassFigureAlignmentPositioning #'direction = #DOWN
-@end example
+Schnipsel:
+@rlsr{Chords}.
-@noindent
-benutzt werden.
+Referenz der Interna:
+@rinternals{BassFigure},
+@rinternals{BassFigureAlignment},
+@rinternals{BassFigureLine},
+@rinternals{BassFigureBracket},
+@rinternals{BassFigureContinuation},
+@rinternals{FiguredBass}.
@knownissues
-Wenn Bassziffern über dem Notensystem mit Ergänzungslinien und
-@code{implicitBassFigures} benutzt werden, kann es vorkommen, dass
-die Linien vertauscht werden. Besonders kritisch wird es, wenn
-mehrere Bassziffern sich überschneidende Linien haben. Um dieses
-Problem zu vermeiden, sollte @code{stacking-dir}
-im @code{BassFigureAlignment} benutzt werden.
-
-
-@seealso
-Programmreferenz: @rinternals{BassFigure}-,
-@rinternals{BassFigureAlignment}-, @rinternals{BassFigureLine}-,
-@rinternals{BassFigureBracket}- und
-@rinternals{BassFigureContinuation}-Objekte und der
-@rinternals{FiguredBass}-Kontext.
+Um sicherzugehen, dass die Fortsetzungslinien funktionieren, sollte
+der gleiche Rhythmus für die Bassfiguren und die eigentlichen
+Noten der Bassstimme benutzt werden.
+@lilypond[verbatim,ragged-right,fragment,quote]
+<<
+ {
+ \clef bass
+ \repeat unfold 4 { f16. g32 } f8. es16 d8 es
+ }
+ \figures {
+ \bassFigureExtendersOn
+ % The extenders are correct here, with the same rhythm as the bass
+ \repeat unfold 4 { <6 4->16. <6 4->32 }
+ <5>8. r16 <6>8 <6\! 5->
+ }
+>>
+<<
+ {
+ \clef bass
+ \repeat unfold 4 { f16. g32 } f8. es16 d8 es
+ }
+ \figures {
+ \bassFigureExtendersOn
+ % The extenders are incorrect here, even though the timing is the same
+ <6 4->4 <6 4->4
+ <5>8. r16 <6>8 <6\! 5->
+ }
+>>
+@end lilypond
-@node Entering figured bass
-@unnumberedsubsubsec Entering figured bass
+Wenn Fortsetzungslinien eingesetzt werden, können aufeinander
+folgende Bezifferungen mit der selben Zahl in einer anderen
+Position dazu führen, dass sich die Reihenfolge der Zahlen
+umkehrt.
-@untranslated
+@lilypond[verbatim,ragged-right,fragment,quote,relative=1]
+<<
+ { fis4 g g, e' }
+ \figures {
+ \bassFigureExtendersOn
+ <6 5>4 <5\! 4> < 5 _!> <6>
+ }
+>>
+@end lilypond
-@node Displaying figured bass
-@unnumberedsubsubsec Displaying figured bass
+Um dieses Problem zu umgehen, kann die Fortsetzungslinie nach der
+Bezifferung, mit der die Linie beginnen soll, angeschaltet und
+am Ende der Linie wieder ausgeschaltet werden.
-@untranslated
+@lilypond[verbatim,ragged-right,fragment,quote,relative=1]
+<<
+ { fis4 g g, e' }
+ \figures {
+ <6 5>4 <5 4>
+ \bassFigureExtendersOn
+ < 5 _!>4 <6>
+ \bassFigureExtendersOff
+ }
+>>
+@end lilypond
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: 2c00bdbfaf62dd90863331c4713e6b29e32c9322
+ Translation of GIT committish: 4770e4e71ebff6104cad46bd2d889c3ff6ba3875
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
werden, die Schrift-Dateien benutzen. Das sind die, welche die
@code{font-interface}-Layoutschnittstelle unterstützen.
-@funindex \huge
-@funindex \teeny
-@funindex \small
-@funindex \tiny
-@funindex \normalsize
-@funindex \large
@predefined
@code{\teeny},
@funindex \stemNeutral
@funindex \stemUp
@funindex \stemDown
+@funindex stemNeutral
+@funindex stemUp
+@funindex stemDown
@predefined
@code{\stemUp} (Hälse nach oben),
@funindex Balloon_engraver
@funindex balloonGrobText
@funindex balloonText
+@funindex balloonLengthOn
+@funindex balloonLengthOff
+@funindex \balloonLengthOn
+@funindex \balloonLengthOff
+
Notationselemente können bezeichnet und markiert werden, indem um sie eine
rechteckige Blase gezeichnet wird. Dies ist vor allem dazu da, Notation
}
@end lilypond
-@funindex balloonLengthOn
-@funindex balloonLengthOff
-@funindex \balloonLengthOn
-@funindex \balloonLengthOff
@predefined
@code{\balloonLengthOn},
@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.
@end lilypond
Fingersatz und Barre kann im ausführlichen Modus notiert werden.
+Nur im ausführlichen Modus kann ein Capo angezeigt werden, das auf
+dem Bunddiagramm plaziert wird. Die Capo-Anzeige ist ein dicker
+Strich, der alle Saiten bedeckt. Der Bund mit dem Capo ist der
+unterste Bund im Diagramm.
@c \override is necessary to make fingering visible
@lilypond[quote, verbatim]
<<
\context ChordNames {
\chordmode {
- f1 g
+ f1 g c
}
}
\context Staff {
(open 2)
(place-fret 1 3 3)
)
- }
+ < c e g c' e'> ^\markup
+ \fret-diagram-verbose #'(
+ (capo 3)
+ (mute 6)
+ (place-fret 4 5 1)
+ (place-fret 3 5 2)
+ (place-fret 2 5 3)
+ )
+ }
>>
@end lilypond
Bunddiagramme können zu der Tabelle hinzugefügt werden. Um ein
Diagramm hinzuzufügen, muss der Akkord des Diagramms, die Stimmung
-und die Diagramm-Definition im @code{fret-diagram-terse}-Modus
-definiert werden.
+und die Diagramm-Definition angegeben werden. Die Diagramm-Definition
+kann entweder eine @code{fret-diagram-terse}-Definition oder eine
+@code{fret-diagram-verbose}-Liste sein.
@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
\storePredefinedDiagram \chordmode {c'}
#guitar-tuning
- #(offset-fret 2 (chord-shape 'bes))
+ #(offset-fret 2 (chord-shape 'bes guitar-tuning))
mychords = \chordmode{
c1 c'
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.
+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.
@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
% add a new chord shape
-\addChordShape #'powerf #"1-1;3-3;3-4;x;x;x;"
+\addChordShape #'powerf #guitar-tuning #"1-1;3-3;3-4;x;x;x;"
% add some new chords based on the power chord shape
\storePredefinedDiagram \chordmode {f'}
#guitar-tuning
- #(chord-shape 'powerf)
+ #(chord-shape 'powerf guitar-tuning)
\storePredefinedDiagram \chordmode {g'}
#guitar-tuning
- #(offset-fret 2 (chord-shape 'powerf))
+ #(offset-fret 2 (chord-shape 'powerf guitar-tuning))
mychords = \chordmode{
f1 f' g g'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@c This file is part of lilypond-learning.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.
@end ignore
-@c \version "2.11.61"
+@c \version "2.11.65"
@c Translators: Till Rettig, Reinhold Kainhofer
@node Fundamental concepts
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "Hauptzeile" }
+ alignAboveContext = #"Hauptzeile" }
{ f8 f c }
>>
r4 |
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" { \global \sopranoMusic }
>>
\new Lyrics \lyricsto "sopranos" { \sopranoWords }
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" { \global \altoMusic }
>>
\new Lyrics \lyricsto "altos" { \altoWords }
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" { \global \tenorMusic }
>>
\new Lyrics \lyricsto "tenors" { \tenorWords }
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" { \global \bassMusic }
>>
\new Lyrics \lyricsto "basses" { \bassWords }
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano"
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
@example
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" @{ \global \SopranNoten @}
>>
\new Lyrics \lyricsto "sopranos" @{ \SopranText @}
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" @{ \global \AltNoten @}
>>
\new Lyrics \lyricsto "altos" @{ \AltText @}
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" @{ \global \TenorNoten @}
>>
\new Lyrics \lyricsto "tenors" @{ \TenorText @}
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" @{ \global \BassNoten @}
>>
\new Lyrics \lyricsto "basses" @{ \BassText @}
@example
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano "
+ \set PianoStaff.instrumentName = #"Piano "
\new Staff = "oben" \oben
\new Staff = "unten" \unten
>>
>> % Ende ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano"
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff = "oben" \oben
\new Staff = "unten" \unten
>>
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" { \global \sopranoMusic }
>>
\new Lyrics \lyricsto "sopranos" { \sopranoWords }
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" { \global \altoMusic }
>>
\new Lyrics \lyricsto "altos" { \altoWords }
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" { \global \tenorMusic }
>>
\new Lyrics \lyricsto "tenors" { \tenorWords }
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" { \global \bassMusic }
>>
\new Lyrics \lyricsto "basses" { \bassWords }
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano "
+ \set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
-@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: 02cb8b672238eeb53bffa2240c87f23dd8ca9e60
+ 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; -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 2c00bdbfaf62dd90863331c4713e6b29e32c9322
+ Translation of GIT committish: 4770e4e71ebff6104cad46bd2d889c3ff6ba3875
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.
@end itemize
+
+@c @snippets
+@c @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@c {forcing-visibility-of-systems-with-multi-bar-rests-when-using-\RemoveEmptyStaffContext.ly}
+@c http://lsr.dsi.unimi.it/LSR/Item?u=1&id=312
+
+
@seealso
Handbuch zum Lernen:
@rlearning{Real music example},
Wenn individuelle Kontrolle über die einzelen Systeme benötigt
wird, können sie manuell mit den Bezeichnungen @code{"up"} und
@code{"down"} erstellt werden. Der @code{\autochange}-Befehl
-wechselt dann die Stimme zwischen den Systemen. Das ist etwa
-nötig, damit ein Tonart für das untere System definiert werden
-kann.
+wechselt dann die Stimme zwischen den Systemen.
-@lilypond[quote,verbatim]
+@warning{Wenn Systeme manuell erstellt werden, @strong{müssen} sie genau
+die Bezeichnungen @code{"up"} und @code{"down"} bekommen, damit die
+automatische Wechselfunktion sie erkennen kann.}
+
+Systeme müssen etwa manuell erstellt werden, damit die Tonart im unteren
+System gesetzt werden kann:
+
+@c Keep Ly needed, otherwise 'up' and 'down' get
+@c incorrectly translated in verbatim output
+@c KEEP LY
+@lilypond[quote,verbatim,nogettext]
\new PianoStaff <<
\new Staff = "up" {
- \new Voice = "melOne" {
+ \new Voice = "melodieEins" {
\key g \major
\autochange \relative c' {
g8 b a c b d c e
Schnipsel:
@rlsr{Keyboards}.
+
+
+@node Harp
+@subsection Harp
+
+Dieser Abschnitt zeigt Eigenheiten der Notation für Harfe.
+
@menu
-* Harp notation::
+* References for harps::
* Harp pedals::
@end menu
-@node Harp
-@subsection Harp
+@node References for harps
+@unnumberedsubsubsec References for harps
-TBC
+@cindex Harfe
-@ignore
-Some possibilities:
-- glissandi
-- tremolo (for bisbigliando)
-- natural harmonics
-- directional arpeggio and non-arpeggio
-- workaroung for keeping both staves visible in an orchestral
- score,
-http://lists.gnu.org/archive/html/lilypond-user/2007-08/msg00386.html
-and http://lsr.dsi.unimi.it/LSR/Item?u=1&id=312
-
-An LSR snippet could be used to demonstrate the main items; in the
-case of glissandi, it would be desirable to have a demonstration
-of different styles.
+Einige übliche Notationseigenheiten für Harfe sind woanders behandelt:
+
+@itemize
+
+@item Glissando ist die üblichste Harfentechnik, siehe
+@ref{Glissando}.
+
+@item Ein @notation{Bisbigliando} wird als ein Tremolo notiert, siehe @ref{Tremolo
+repeats}
+
+@item Flageolettöne werden hier beschrieben: @ref{Harmonics}.
+
+@item Für Arpeggio und non-arpeggio, siehe @ref{Arpeggio}.
+
+@end itemize
+
+@seealso
+Notationsreferenz:
+@ref{Tremolo repeats}
+@ref{Glissando}
+@ref{Arpeggio}
+@ref{Harmonics}
-@end ignore
@node Harp pedals
@seealso
Notationsreferenz:
-@ruser{Text scripts}
+@ref{Text scripts}
+@ref{Instrument Specific Markup}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@c This file is part of lilypond-program.tely
@ignore
- Translation of GIT committish: 2c00bdbfaf62dd90863331c4713e6b29e32c9322
+ Translation of GIT committish: 4770e4e71ebff6104cad46bd2d889c3ff6ba3875
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
f2 e
@end example
+@noindent
+Wenn Kommentare und Variablen im Zitat, aber nicht im Quelltext
+übersetzt werden sollen, kann die Umgebungsvariable @code{LYDOC_LOCALEDIR}
+auf einen Verzeichnispfad gesetzt werden. Das Verzeichnis sollte
+einen Baum an @file{.mo}-Nachrichtenkatalogen beinhalten mit
+@code{lilypond-doc} als Domain.
+
@item addversion
(Nur innerhalb von Texinfo-Dateien.) Stellt @code{\version
@@w@{"@@version@{@}"@}} an den Beginn des Fragments der Ausgabe mit
Ergebnis:
@example
-lilypond-book --process="lilypond --format=tex --tex \
- --header=texidoc test.texinfo
+lilypond-book --pdf --process="lilypond \
+ -dbackend=eps --header=texidoc" test.texinfo
@end example
Die meisten Test-Dateien (im @file{input/} Verzeichnis von LilyPond)
allerdings in Ihrem Texinfo-Dokument als Makro selbst definiert werden.
Die Übersetzung funktioniert völlig analog zu @code{texidoc}.
+@item nogettext
+Nur für Texinfo-Ausgabe: Kommentare und Variablenbezeichnungen im
+zitierten Quelltext des Schnipsel werden nicht übersetzt.
+
@item printfilename
Wenn eine LilyPond-Datei mittels @code{\lilypondfile} und dieser Option
eingebunden wird, wird der Dateiname (ohne die Pfadangabe) unmittelbar vor
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: b54fc6953a8d70a3c51e8c3d0cbf9b3fe9652d78
+ Translation of GIT committish: 2c00bdbfaf62dd90863331c4713e6b29e32c9322
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@table @cite
+
@item Ignatzek 1995
Klaus Ignatzek, Die Jazzmethode für Klavier. Schott's Söhne
1995. Mainz, Germany ISBN 3-7957-5140-3.
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: 2881ea603b63e4e335dc1104b0c22c71f373b20d
+ Translation of GIT committish: 4770e4e71ebff6104cad46bd2d889c3ff6ba3875
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.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.
@end ignore
-@c \version "2.11.62"
+@c \version "2.11.65"
@node Percussion
@section Percussion
@snippets
-FIXME: MOVE ALL THESE TO LSR! -gp
-
Hier einige Beispiele:
Zwei Holzblöcke, notiert mit wbh (hoch) und wbl (tief)
tambustaff = {
\override Staff.StaffSymbol #'line-positions = #'( 0 )
\override Staff.BarLine #'bar-size = #3
- \set DrumStaff.instrumentName = "Tambourine"
+ \set DrumStaff.instrumentName = #"Tambourine"
}
\new DrumStaff {
tamtamstaff = {
\override Staff.StaffSymbol #'line-positions = #'( 0 )
\override Staff.BarLine #'bar-size = #3
- \set DrumStaff.instrumentName = "Tamtam"
+ \set DrumStaff.instrumentName = #"Tamtam"
}
\new DrumStaff {
\override DrumStaff.StaffSymbol #'line-positions = #'(-2 3)
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
\override Staff.BarLine #'bar-size = #3
- \set DrumStaff.instrumentName = "Different Bells"
+ \set DrumStaff.instrumentName = #"Different Bells"
}
\new DrumStaff {
}
\new DrumStaff {
- \set DrumStaff.instrumentName = "Grosse Caisse"
+ \set DrumStaff.instrumentName = #"Grosse Caisse"
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
\drumsB }
>>
@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.
@end ignore
-@c \version "2.11.61"
+@c \version "2.11.65"
@node Pitches
@section Pitches
@cindex Tonhöhenbezeichnungen
@cindex Absoluter Modus: Tonhöhen
@cindex Absolute Spezifikation von Oktaven
+@cindex Angabe der Oktave: absolut
Tonhöhenbezeichnungen werden durch Kleinbuchstaben
von@tie{}@code{a} bis@tie{}@code{g} angegeben. Dabei
@cindex Oktavwechsel: Tonhöhe
@cindex Wechsel der Oktave
@cindex Tonhöhe: Wechsel der Oktave
+
@funindex '
@funindex ,
@cindex Relativ
@cindex Relative Oktavbestimmung
+@cindex Oktavbestimmung, relativ
@cindex Noteneingabe: relative Oktavbestimmung
+
@funindex \relative
+@funindex relative
Wenn Oktaven im absoluten Modus notiert, passiert es
schnell, eine Note auf der falschen Oktave zu notieren. Mit
}
@end lilypond
+@cindex Akkorde und relativer Modus
+@cindex relativer Modus und Akkorde
+@cindex Oktavenmodus (relativ) und Akkorde
+
Wenn der vorherige Ausdruck ein Akkord ist, wird die erste Note
des Akkordes benutzt, um die erste Note des nächsten Akkordes zu
bestimmen. Innerhalb von Akkorden ist die nächste Note immer
@cindex Relativer Oktavenmodus und Transposition
@cindex Transposition und relativer Modus
+
@funindex \transpose
@funindex \chordmode
@funindex \relative
+@funindex transpose
+@funindex chordmode
+@funindex relative
@knownissues
signatures}.}
@cindex Notenbezeichnungen, Deutsch
+@cindex Notenbezeichnungen, Holländisch
@cindex Notenbezeichnungen, Standard
@cindex Versetzungszeichen, Deutsch
+@cindex Standardnotenbezeichnungen
@cindex Kreuz
@cindex B
@cindex Doppelkreuz
@cindex Vorzeichen, Vierteltöne
@cindex Versetzungszeichen, Vierteltöne
@cindex Mikrotöne
+@cindex Halbkreuz
+@cindex Halb-B
Versetzungszeichen für Vierteltöne werden durch Anhängen der Endungen
@code{-eh} (Erniedrigung) und @code{-ih} (Erhöhung) an den
@cindex Vorzeichen in Klammern
@cindex Erinnerungsvorzeichen
@cindex Warnungsvorzeichen
-@funindex ?
@cindex Klammern um Vorzeichen
+
+@funindex ?
@funindex !
Normalerweise werden Versetzungszeichen automatisch gesetzt, aber
@cindex Oktavenüberprüfung
@cindex Oktavierungskorrektur
@cindex Kontroll-Tonhöhe
+
@funindex =
@funindex \octaveCheck
+@funindex octaveCheck
@funindex controlpitch
Im relativen Modus geschieht es recht häufig, dass ein
@cindex Transponieren
@cindex Noten, transponieren
@cindex Tonhöhen, transponieren
+
@funindex \transpose
+@funindex transpose
Ein musikalischer Ausdruck kann mit dem Befehl @code{\transpose}
transponiert werden. Die Syntax lautet:
}
@end lilypond
-@cindex Transponierende Instrumente
-@cindex Instrumente, transponierende
-
Wenn eine Stimme, die in C notiert ist, von einer A-Klarinette
gespielt werden soll (für die A als C notiert wird,
aber eine kleine Terz tiefer erklingt als es notiert
@funindex \transpose
@funindex \chordmode
@funindex \relative
+@funindex transpose
+@funindex chordmode
+@funindex relative
@knownissues
@node Clef
@unnumberedsubsubsec Clef
-@funindex \clef
@cindex G-Schlüssel
@cindex C-Schlüssel
@cindex F-Schlüssel
@cindex Schlüssel, G
@cindex Schlüssel, F
+@funindex \clef
+@funindex clef
+
Der Schlüssel kann verändert werden. Das eingestrichene
C wird in jedem Beispiel gezeigt:
Weitere unterstützte Schlüssel sind beschrieben in @ref{Ancient clefs}.
-@cindex transposing clefs
-@cindex clef, transposing
-@cindex octave transposition
-@cindex choral tenor clef
+@cindex transponierende Schlüssel
+@cindex Schlüssel, transponierend
+@cindex Oktavtransposition
+@cindex Chor-Tenorschlüssel
+@cindex Tenorschlüssel, Chor
Indem @code{_8} oder @code{^8} an die jeweilige Schlüsselbezeichnung
angehängt wird, wird der Schlüssel um eine Oktave nach oben oder unten
@cindex Tonart
@cindex Vorzeichen
+
@funindex \key
+@funindex key
@c duplicated in Key signature and Accidentals
@warning{Neue Benutzer sind manchmal verwirrt, wie
@funindex \lydian
@funindex \phrygian
@funindex \dorian
+@funindex minor
+@funindex major
+@funindex minor
+@funindex ionian
+@funindex locrian
+@funindex aeolian
+@funindex mixolydian
+@funindex lydian
+@funindex phrygian
+@funindex dorian
+
@cindex Kirchentonarten
@cindex Modus
@cindex Dur
@cindex 8va
@cindex 8ve
@cindex Oktavierung
+
@funindex set-octavation
+@funindex \ottava
+@funindex ottava
@notation{Oktavierungsklammern} zeigen eine zusätzliche
Transposition von einer Oktave an:
@cindex Transponierendes Instrument
@cindex MIDI
@cindex MIDI-Transposition
+
@funindex \transposition
+@funindex transposition
Wenn man Noten setzt, die von transponierenden Instrumenten
gespielt werden, sind oft einige Stimmen auf einer
\new GrandStaff <<
\new Staff = "violin" {
\relative c'' {
- \set Staff.instrumentName = "Vln"
- \set Staff.midiInstrument = "violin"
+ \set Staff.instrumentName = #"Vln"
+ \set Staff.midiInstrument = #"violin"
% not strictly necessary, but a good reminder
\transposition c'
\new Staff = "clarinet" {
\relative c'' {
\set Staff.instrumentName = \markup { Cl (B\flat) }
- \set Staff.midiInstrument = "clarinet"
+ \set Staff.midiInstrument = #"clarinet"
\transposition bes
\key d \major
zwischen B- und A-Klarinette wechseln.
@lilypond[verbatim,quote,relative=2]
-\set Staff.instrumentName = "Cl (A)"
+\set Staff.instrumentName = #"Cl (A)"
\key a \major
\transposition a
c d e f
@cindex Automatische Versetzungszeichen
@cindex Versetzungszeichen, automatisch
@cindex Standard-Versetzungszeichenstil
+
@funindex set-accidental-style
@funindex voice
+@funindex default
Es gibt viele unterschiedliche Regeln, wie Versetzungszeichen
notiert werden. LilyPond hat eine Funktion, mit der
Um jeden Stil zu erklären, wird folgendes Beispiel
benützt:
-@funindex default
-
@lilypond[verbatim,quote]
musicA = {
<<
@cindex Standard-Versetzungszeichenstil
@cindex Versetzungszeichenstil, Standard
-@funindex default
Das ist das Standardverhalten. Es entspricht der
Konvention für Notation von Musik des 18. Jahrhunderts:
@cindex Versetzungszeichenstil modern
@cindex Versetzungszeichenstil, modern-cautionary
@cindex modern-Warnung-Versetzungszeichenstil
+
@funindex voice
Das normale Verhalten ist es, die Versetzungszeichen
@cindex Versetzungszeichen, moderne Stile
@cindex Moderner Stil, Versetzungszeichen
+
@funindex modern
Dieser Stil orientiert sich an den üblichen Regeln für
@cindex Versetzungszeichen, moderner Stil mit Warnungen
@cindex moderner Versetzungszeichenstil
@cindex moderner Verseztungszeichenstil mit Warnungen
+
@funindex modern-cautionary
Dieser Stil ähnelt @code{modern}, aber die @qq{zusätzlichen}
@cindex moderner Versetzungszeichenstil
@cindex moderne Versetzungszeichen
@cindex Stimmen, Versetzungszeichen für
+
@funindex modern-voice
Diese Regel wird für vielstimmige Noten benutzt, die sowohl von
@cindex Versetzungszeichenstil, modern mit Warnung für Stimmen
@cindex Stimmen, Versetzungszeichenstil mit Warnung für Stimmen
@cindex moderner Versetzungszeichensitl mit Warnungen für Stimmen
+
@funindex modern-voice-cautionary
@item modern-voice-cautionary (modern mit Warnungen für einzelne Stimmen)
@cindex Versetzungszeichen für Klavier
@cindex Klavier-Versetzungszeichenstil
@cindex Piano-Versetzungszeichenstil
+
@funindex piano
Dieser Stil orientiert sich an den Regeln im 20. Jahrhundert für die
@item piano-cautionary (Klavier mit Warnungen)
@funindex piano-cautionary
+
@cindex Versetzungszeichen, piano cautionary
@cindex Warnungsversetzungszeichen für Klavier
@cindex Klavier: Warnungsversetzungszeichen
@item neo-modern
@funindex neo-modern
+
@cindex neo-moderner Versetzungszeichenstil
@cindex Versetzungszeichenstil, neo-modern
@item neo-modern-cautionary (neo-modern mit Warnungen)
@funindex neo-modern-cautionary
+
@cindex neo-modern-cautionary-Versetzungszeichenstil
@cindex Versetzungszeichenstil neo-modern mit Warnungen
@cindex Warnungsversetzungszeichen, neo-modern
@item dodecaphonic (Zwölftonmusik)
@funindex dodecaphonic
+
@cindex dodekaphoner Versetzungszeichenstil
@cindex Zwölftonmusik, Versetzungszeichenstil
@cindex Versetzungszeichenstil, Zwölftonmusik
@item teaching (didaktisch)
@funindex teaching
+
@cindex teaching-Versetzungszeichenstil
@cindex Versetzungszeichenstil teaching
@cindex didaktischer Versetzungszeichenstil
@item no-reset (nicht zurücksetzen)
@funindex no-reset
+
@cindex Versetzungszeichenstil, no reset
@cindex Versetzungszeichenstil: nicht zurücksetzen
@item forget (vergessen)
@funindex forget
+
@cindex forget-Versetzungszeichenstil
@cindex Versetzungszeichenstil forget
@cindex Versetzungszeichenstil Vergessen
@cindex Gitarrennotenköpfe
@cindex Flageolett-Notenköpfe
@cindex Stile, Notenköpfe
+
@funindex cross
Notenköpfe können verändert werden:
@cindex Anfänger, Notenlernen
@cindex Notenköpfe für Anfänger
+@funindex \easyHeadsOn
+@funindex easyHeadsOn
+@funindex \easyHeadsOff
+@funindex easyHeadsOff
+
Die @qq{einfachen Notenköpfe} haben die Bezeichnung der Note
im Kopf gedruckt. Das wird eingesetzt, um die Notation beizubringen.
Damit die Buchstaben noch lesbar sind, müssen sie sehr groß
@cindex Form-Notenköpfe
@cindex Aiken-Notenköpfe
@cindex sacred harp-Notenköpfe
+
@funindex \key
@funindex \aikenHeads
@funindex \sacredHarpHeads
+@funindex key
+@funindex aikenHeads
+@funindex sacredHarpHeads
In dieser Notation haben die Notenköpfe eine Form, die ihrer
harmonischen Funktion innherhalb der Tonleiter entspricht. Die
Skala, wobei der Grundton der Skala aus dem @code{\key}-Befehl
entnommen wird.
-@funindex \aikenHeads
-@funindex \sacredHarpHeads
-
@predefined
@code{\aikenHeads},
@code{\sacredHarpHeads}.
@cindex Strichnotenköpfe
@cindex Striche: Notenköpfe
+@funindex \improvisationOn
+@funindex improvisationOn
+@funindex \improvisationOff
+@funindex improvisationOff
+
Improvisation wird manchmal angezeigt, indem schräge Notenköpfe
gesetzt werden, wenn der Spieler eine beliebige Tonhöhe wählen kann
aber den vorgegebenen Rhythmus spielen soll. Sie können wie folgt
}
@end lilypond
-@funindex \improvisationOn
-@funindex \improvisationOff
-
@predefined
@code{\improvisationOn},
@code{\improvisationOff}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 4a527608c5ff2ce31e596495d00dce181dc1b9ea
+ 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.
* Markup programmer interface::
* Contexts for programmers::
* Scheme procedures as properties::
-* TODO moved into scheme::
+* Using Scheme code instead of \tweak::
+* Difficult tweaks::
@end menu
@node Music functions
@untranslated
-@node TODO moved into scheme
-@section TODO moved into scheme
-
-@untranslated
-
-
-@menu
-* Using Scheme code instead of \tweak::
-* Difficult tweaks::
-@end menu
-
@node Using Scheme code instead of \tweak
-@subsection Using Scheme code instead of @code{\tweak}
+@section Using Scheme code instead of @code{\tweak}
@untranslated
@node Difficult tweaks
-@subsection Difficult tweaks
+@section Difficult tweaks
@untranslated
Taktangaben werden zu Beginn eines Stückes gesetzt und immer dann,
wenn sich die Taktart ändert. Wenn eine Änderung am Ende einer
Zeile geschieht, wird eine warnende Taktangabe am Ende der Zeile
-ausgegeben. Dieses Verhalten kann verändert werdenm, siehe
-@ref{Controlling visibility of objects}.
+ausgegeben. Dieses Verhalten kann verändert werden, siehe
+@ref{Visibility of objects}.
@lilypond[quote,verbatim,relative=2]
\time 2/4
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@c This file is part of lilypond-program.tely
@ignore
- Translation of GIT committish: 2c00bdbfaf62dd90863331c4713e6b29e32c9322
+ Translation of GIT committish: 4770e4e71ebff6104cad46bd2d889c3ff6ba3875
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@item backend
Gibt an, welches Ausgabeformat das LilyPond Backend benutzt. Mögliche Werte
für diese Option sind:
+
@table @code
@item ps
PostScript-Ausgabeformat.
LilyPond benutzt werden.
@cindex Scheme dump
+
+@item null
+Keine Partitur wird ausgegeben, hat gleichen Effekt wie @code{-dno-print-pages}.
+
@end table
Beispiel: @code{lilypond -dbackend=svg @var{Dateiname}.ly}
@item --pdf
Erzeugt PDF-Dateien. Dies impliziert @code{--ps}.
-
-
@item -j,--jail=@var{Benutzer},@var{Gruppe},@var{Jail-Verzeichnis},@var{Arbeitsverzeichnis}
Führt @command{lilypond} in einem chroot-Jail aus.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 3121682025660b6c85fbf3f22bb9cd8396699ad1
+ 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.
@end ignore
-@c \version "2.11.64"
+@c \version "2.11.65"
@node Staff notation
@section Staff notation
@lilypond[verbatim,quote,relative=2]
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano"
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff { c1 c }
\new Staff { c1 c }
>>
alle weiteren Systeme.
@lilypond[verbatim,quote,ragged-right,relative=1]
-\set Staff.instrumentName = "Violin "
-\set Staff.shortInstrumentName = "Vln "
+\set Staff.instrumentName = #"Violin "
+\set Staff.shortInstrumentName = #"Vln "
c4.. g'16 c4.. g'16
\break
c1
@lilypond[verbatim,quote,indent=1.5\cm,relative=2]
<<
\new Staff {
- \set Staff.instrumentName = "Flute"
+ \set Staff.instrumentName = #"Flute"
f2 g4 f
}
\new Staff {
\relative c'' <<
\new Staff {
- \set Staff.instrumentName = "Alto Flute in G"
- \set Staff.shortInstrumentName = "Fl."
+ \set Staff.instrumentName = #"Alto Flute in G"
+ \set Staff.shortInstrumentName = #"Fl."
f2 g4 f \break
g4 f g2
}
\new Staff {
- \set Staff.instrumentName = "Clarinet"
- \set Staff.shortInstrumentName = "Clar."
+ \set Staff.instrumentName = #"Clarinet"
+ \set Staff.shortInstrumentName = #"Clar."
c,4 b c2 \break
c2 b4 c
}
geändert werden:
@lilypond[verbatim,quote,ragged-right,relative=1]
-\set Staff.instrumentName = "First"
-\set Staff.shortInstrumentName = "one"
+\set Staff.instrumentName = #"First"
+\set Staff.shortInstrumentName = #"one"
c1 c c c \break
c1 c c c \break
-\set Staff.instrumentName = "Second"
-\set Staff.shortInstrumentName = "two"
+\set Staff.instrumentName = #"Second"
+\set Staff.shortInstrumentName = #"two"
c1 c c c \break
c1 c c c \break
@end lilypond
(midiInstrument . "bassoon"))
\new Staff \with {
- instrumentName = "Bassoon"
+ instrumentName = #"Bassoon"
}
\relative c' {
\clef tenor
@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: 4770e4e71ebff6104cad46bd2d889c3ff6ba3875
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@snippets
-@ignore
-@c TODO Replace following example with this snippet when available
-@c Submitted to LSR 30 Nov 08
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{stand--alone-two--column-markup.ly}
-@end ignore
-
-Text alleine kann auch in mehreren Spalten angeordnet werden.
-
-@lilypond[verbatim,quote]
-\markup {
- \fill-line {
- \hspace #1.0
- \column {
- \line {"O sacrum convivium" }
- \line {"in quo Christus sumitur," }
- \line {"recolitur memoria passionis ejus," }
- \line {"mens impletur gratia," }
- \line {"futurae gloriae nobis pignus datur." }
- \line {"Amen."}
- }
- \hspace #2
- \column {
- \line { \italic {"O sacred feast"} }
- \line { \italic {"in which Christ is received,"} }
- \line { \italic {"the memory of His Passion is renewed,"} }
- \line { \italic {"the mind is filled with grace," } }
- \line { \italic {"and a pledge of future glory is given to us." }}
- \line { \italic {"Amen."}}
- }
- \hspace #1.0
- }
-}
-@end lilypond
+{stand-alone-two-column-markup.ly}
@seealso
Notationsreferenz:
@c -*- coding: utf-8; mode: texinfo; -*-
@c This file is part of lilypond-learning.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.
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
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main" }
+ alignAboveContext = #"main" }
{ f8 f c }
>>
r4 |
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main"
+ alignAboveContext = #"main"
}
{
\override Staff.Clef #'stencil = ##f
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main"
+ alignAboveContext = #"main"
% Don't print clefs in this staff
\override Clef #'stencil = ##f
% Don't print time signatures in this staff
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main"
+ alignAboveContext = #"main"
\override Clef #'stencil = ##f
\override TimeSignature #'stencil = ##f
% Reduce all font sizes by ~24%
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main"
+ alignAboveContext = #"main"
\override Clef #'stencil = ##f
\override TimeSignature #'stencil = ##f
fontSize = #-2
tippen, und sie müssen immer absolut richtig sein. Wenn
derselbe Befehl mehrere Male benutzt werden muss, lohnt
es sich oft schon, eine Variable zu definieren, in der er
-sich befindet. Als Beispiel sollen einige Worte im
+sich befindet.
+
+Als Beispiel sollen einige Worte im
Gesangstext fett und kursiv hervorgehoben werden.
Die Befehle @code{\italic} und @code{\bold} funktionieren
-im Gesangstext-Kontext nur, wenn sie gleichzeitig
-noch in eine @code{\markup}-Umgebung eingeschlossen
-werden, was es mühsam macht, sie zu tippen. Als
+im Gesangstext-Kontext nur, wenn sie gleichzeitig mit den Wörtern,
+auf die sie angewendet werden sollen, zusätzlich
+in eine @code{\markup}-Umgebung eingeschlossen
+werden. Durch diese Einbettung können einzelne Wörter nicht
+einfach zu einer Variable umgeformt werden. Als
Alternative versuchen wir, einen Befehl mit
@code{\override} und @code{\revert} zu konstruieren.
@code{\revert Lyrics . LyricText #'font-series}
@end example
-Das wäre natürlich noch viel mühsamer. Also setzen wir
-anstatt dessen zwei Variablen, die diese Befehlsketten
-enthalten. Die Namen können natürlich auch kürzer sein,
-um noch weniger schreiben zu müssen. Die Benutzung der Befehle
-ist im Notenbeispiel gezeigt.
+Das wäre natürlich noch viel mühsamer, wenn viele Wörter eine
+Hervorhebung benötigen. Anstelle dieser Befehlsketten @emph{können}
+wir jedoch zwei Variablen definieren. Mit ihnen und dem entsprechenden
+Wort in geschweiften Klammern erreichen wir den gewünschten Effekt.
+Ein weiterer Vorteil ist, dass in diesem Fall die Leerzeichn um die
+Punkte herum nicht benötigt werden, weil sie nicht innerhalb des
+@code{lyricmode}-Kontextes interpretiert werden. Hier ein Beispiel;
+die Bezeichnungen können natürlich auch kürzer sein,
+um noch weniger schreiben zu müssen:
@cindex LyricText, Beispiel zur Veränderung
@cindex Gesangstext, Beispiel zur Veränderung
@lilypond[quote,verbatim]
emphasize = {
- \override Lyrics . LyricText #'font-shape = #'italic
- \override Lyrics . LyricText #'font-series = #'bold
+ \override Lyrics.LyricText #'font-shape = #'italic
+ \override Lyrics.LyricText #'font-series = #'bold
}
normal = {
- \revert Lyrics . LyricText #'font-shape
- \revert Lyrics . LyricText #'font-series
+ \revert Lyrics.LyricText #'font-shape
+ \revert Lyrics.LyricText #'font-series
}
global = { \time 4/4 \partial 4 \key c \major}
@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: 4770e4e71ebff6104cad46bd2d889c3ff6ba3875
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.
@end ignore
-@c \version "2.11.61"
+@c \version "2.11.65"
@node Vocal music
@section Vocal music
\new Voice {
\time 3/4 g2 e4 a2 f4 g2.
} \addlyrics {
- \set stanza = "1. "
+ \set stanza = #"1. "
Hi, my name is Bert.
} \addlyrics {
- \set stanza = "2. "
+ \set stanza = #"2. "
Oh, ché -- ri, je t'aime
}
@end lilypond
\new Voice {
\time 3/4 g2 e4 a2 f4 g2.
} \addlyrics {
- \set vocalName = "Bert "
+ \set vocalName = #"Bert "
Hi, my name is Bert.
} \addlyrics {
- \set vocalName = "Ernie "
+ \set vocalName = #"Ernie "
Oh, ché -- ri, je t'aime
}
@end lilypond
@code{ignoreMelismata}-Eigenschaft im @code{Lyrics}-Kontext
vorgenommen.
-@c TODO: breaks compile
-@c seems to be fixed, does not break compile anymore --FV
@lilypond[verbatim,ragged-right,quote]
<<
\relative c' \new Voice = "lahlah" {
>>
@end lilypond
+@knownissues
+Anders als die meisten @code{\set}-Befehle funktioniert
+@code{\set ignoreMelismata} nicht zusammen mit @code{\once}.
+Es ist notwendig, explizit @code{\set} und @code{\unset} zu
+verwenden, um den Text einzugrenzen, für den Melismen ignoriert
+werden sollen.
+
@subsubheading Switching to an alternative melody
}
text = \lyricmode {
-\set stanza = "1." Ma- ry had a lit- tle lamb,
+\set stanza = #"1." Ma- ry had a lit- tle lamb,
its fleece was white as snow.
}
}
text = \lyricmode {
- \set stanza = "1." This is verse one.
+ \set stanza = #"1." This is verse one.
It has two lines.
}
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 4a527608c5ff2ce31e596495d00dce181dc1b9ea
+ Translation of GIT committish: 2c00bdbfaf62dd90863331c4713e6b29e32c9322
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@end ignore
+@c Translators: Till Rettig
+
@node World music
@section World music
-@untranslated
+Dieser Abschnitt soll Besonderheiten der Notation aufzeigen, die
+insbesondere relevant sind, um Musik nicht-westlicher Tradition
+zu notieren.
@menu
@node Arabic music
@subsection Arabic music
-@untranslated
+Dieser Abschnitt zeigt Möglichkeiten, wie arabische Musik notiert
+werden kann.
@menu
@node References for Arabic music
@unnumberedsubsubsec References for Arabic music
-@untranslated
+@cindex arabische Musik
+@cindex Maqam
+
+Arabische Musik wurde bisher vor allem mündlich tradiert. Wenn
+Musik transkribiert wird, handelt es sich meistens um ein Gerüst,
+auf dem der Musiker eigene Improvisationen ausführt. Mehr und mehr
+wird die westliche Notation mit einigen Veränderungen benutzt, um
+die arabische Musiktradition weiterzugeben und zu konservieren.
+
+Einige Elemente der westlichen Notation wie etwa die Transkription
+von Akkorden oder eigenständige Stimmen werden für die traditionelleren
+arabischen Noten nicht benötigt. Es gibt allerdings einige andere
+Probleme, wie etwa die Notwendigkeit, Zwischenintervalle zu
+notieren, die sich irgendwo zwischen einem Halbton und einem
+Ganzton befinden. Daneben werden auch die westlichen Halb- und
+Ganztöne eingesetzt. Es muss auch möglich sein, eine große
+Anzahl an maqam (Modi) der arabischen Musik zu bezeichnen und zu
+gruppieren.
+
+Üblicherweise müssen Mikrotöne in der arabischen Musik nicht
+präzise notiert werden.
+
+Einige Bereiche, die für die arabische Notation wichtig sind, sind
+an anderer Stelle behandelt:
+
+@itemize
+@item Notenbezeichnungen und Versetzungszeichen (inklusive Vierteltöne)
+können angepasst werden, wie behandelt in
+@ref{Note names in other languages}.
+
+@item Zusätzliche Taktarten können erstellt werden, siehe
+@ref{Key signature}.
+
+@item Komplexe Taktarten erfordern evtl., dass Noten manual gruppiert
+werden, wie gezeigt in
+@ref{Manual beams}.
+
+@item @notation{Takasim}, rhythmisch freie Improvisationen,
+können ohne Taktlinien notiert werden, siehe hierzu
+@ref{Unmetered music}.
+
+@end itemize
+
+
+@seealso
+Notationsreferenz:
+@ref{Note names in other languages},
+@ref{Key signature},
+@ref{Manual beams}.
+
+Schnipsel:
+@rlsr{World music}.
@node Arabic note names
@unnumberedsubsubsec Arabic note names
-@untranslated
+@cindex arabische Notenbezeichnungen
+@cindex Notenbezeichnungen, arabisch
+
+An der arabischen Tradition orientierte Notenbezeichnungen können sehr
+land sein und eignen sich daher nicht gut für die Notation von Musik.
+Sie werden nicht benutzt. Englische Notenbezeichnungen hingegen sind
+in der arabischen Musikerziehung recht unbekannt, weshalb italienische
+Notenbezeichnungen (@code{do, re, mi, fa, sol, la, si}) eingesetzt
+werden. Modifikatoren (Versetzungszeichen) können auch benutzt werden,
+wie gezeigt in @ref{Note names in other languages}.
+
+Hier ein Beispiel der arabischen @notation{rast}-Tonleiter:
+
+@lilypond[quote,verbatim]
+\include "arabic.ly"
+\relative do' {
+ do re misb fa sol la sisb do sisb la sol fa misb re do
+}
+@end lilypond
+
+@cindex arabisches Halb-B Versetzungszeichen
+@cindex Halb-B-Versetzungszeichen, arabische Musik
+
+Das Symbol für das Halb-B sieht anders aus als das Symbol, was
+üblicherweise in arabischer Notation benutzt wird. Das
+@code{\dwn}-Symbol, das in der Datei @code{arabic.ly} definiert
+ist, kann als ein Workaround eingesetzt werden, wenn es notwendig
+ist, das arabische Symbol zu benutzen. Das Aussehen des
+Halb-Bs in den Vorzeichen kann mit dieser methode nicht verändert
+werden.
+
+@lilypond[quote,verbatim]
+\include "arabic.ly"
+\relative do' {
+ \set Staff.extraNatural = ##f
+ dod dob dosd \dwn dob dobsb dodsd do do
+}
+@end lilypond
+
+@seealso
+Notationsreferenz:
+@ref{Note names in other languages}.
+
+Schnipsel:
+@rlsr{World music}.
+
@node Arabic key signatures
@unnumberedsubsubsec Arabic key signatures
-@untranslated
+@cindex arabische Tonarten
+@cindex arabische Vorzeichen
+
+Neben den westlichen Dur- und Moll-Tonarten sind folgende
+Tonarten in @code{arabic.ly} definiert: @notation{bayati},
+@notation{rast}, @notation{sikah}, @notation{iraq} und
+@notation{kurd}. Diese Tonarten definieren eine kleine
+Gruppe von Maqams, die weitverbreitet sind.
+
+Ein Maqam kann die Tonart der Gruppe benutzen, zu der er gehört,
+oder die einer benachbarten Gruppe. Zusätzlich können verschiedene
+Versetzungszeichen in den Noten markiert werden.
+
+Um also etwa die Tonart des Maqams @qq{muhayer} folgendermaßen
+notiert:
+
+@example
+\key re \bayati
+@end example
+
+@var{re} ist die Tonhöhe für den @qq{muhayer}-Maqam und @var{bayati}
+ist die Bezeichnung des Basismaqams der Gruppe.
+
+Während die Vorzeichen eine Gruppe anzeigen, wird meistens der
+eigentliche Maqam im Titel definiert. In diesem Beispiel müsste
+also der @qq{muhayer}-Maqam im Titel erscheinen.
+
+Andere Maqams derselben Bayati-Gruppe, wie in der Tabelle unten
+gezeigt ((bayati, hussaini, saba und ushaq) können auf die gleiche
+Weise notiert werden. Sie sind alle Variationen des
+Grundmaqams Bayati. Sie unterscheiden sich üblicherweise vom
+grundlegenden Maqam in ihrem oberen Tetrachord oder in bestimmten
+Einzelheiten, die aber nicht ihre eigentliche Qualität verändern.
+
+Der andere Maqam der gleichen Gruppe (Nawa) ist mit bayati durch
+eine Modulation verwandt, deren Grundton in der Tabelle angezeigt
+wird, wenn es sich um einen Maqam handelt, der eine Modulation
+eines anderen Maqams darstellt. Nawa kann folgenderweise
+notiert werden:
+
+@example
+\key sol \bayati
+@end example
+
+In der arabischen Musik ist ein Begriff wie bayati, der eine
+Maqam-Gruppe bezeichnet, gleichzeitig auch selber ein Maqam,
+meistens der häufigste dieser Gruppe.
+
+Hier ist eine Möglichkeit, Maqams zu gruppieren, womit die
+häufigsten Maqams bestimmten Vorzeichen zugeordnet werden:
+
+@multitable @columnfractions 0.1 0.1 0.1 0.6
+@headitem Maqam-Gruppe
+ @tab Vorzeichen (@code{\key})
+ @tab Finalis
+ @tab Andere Maqams der Gruppe (Finalis)
+@item ajam
+ @tab major
+ @tab sib
+ @tab jaharka (fa)
+@item bayati
+ @tab bayati
+ @tab re
+ @tab hussaini, muhayer, saba, ushaq, nawa (sol)
+@item hijaz
+ @tab kurd
+ @tab re
+ @tab shahnaz, shad arban (sol), hijazkar (do)
+@item iraq
+ @tab iraq
+ @tab sisb
+ @tab -
+@item kurd
+ @tab kurd
+ @tab re
+ @tab hijazkar kurd (do)
+@item nahawand
+ @tab minor
+ @tab do
+ @tab busalik (re), farah faza (sol)
+@item nakriz
+ @tab minor
+ @tab do
+ @tab nawa athar, hisar (re)
+@item rast
+ @tab rast
+ @tab do
+ @tab mahur, yakah (sol)
+@item sikah
+ @tab sikah
+ @tab misb
+ @tab huzam
+@end multitable
+
+@snippets
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{non-traditional-key-signatures.ly}
+
+@seealso
+Notationsreferenz:
+@ref{Key signature}.
+
+Handbuch zum Lernen:
+@rlearning{Accidentals and key signatures}.
+
+Referenz der Interna:
+@rinternals{KeySignature}.
+
+Schnipsel:
+@rlsr{World music},
+@rlsr{Pitches}.
@node Arabic time signatures
@unnumberedsubsubsec Arabic time signatures
-@untranslated
+@cindex Arabische Taktarten
+@cindex Taktarten, arabisch
+@cindex Semai-Form
+@cindex taqasim
+
+Einige klassische Formen der arabischen und türkischen Musik
+wie etwa @notation{Semai} haben ungewöhnliche Taktarten wie
+etwa 10/8. Das kann dazu führen, dass die automatische
+Bebalkung der Noten nicht zu dem Ergebnis kommt, welches in
+der üblichen Notation dieser Musik eingesetzt wird. Die Noten
+werden nicht anhand einer Taktzeit, sondern anhand von Kriterien
+gruppiert, die man schwer mit einer automatischen Balkenfunktion
+erfassen kann. Das kann umgangen werden, indem die automatische
+Bebalkung ausgeschaltet wird und die Balken explizit gesetzt werden.
+Auch wenn es nicht darauf ankommen sollte, eine schon notierte
+Musik nachzuahmen, ist es in vielen Fällen dennoch erforderlich,
+die Bebalkung anzupassen und/oder zusammengesetzte Taktarten
+zu benutzen.
+
+@snippets
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{compound-time-signatures.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{arabic-improvisation.ly}
+
+
+@seealso
+Notationsreferenz:
+@ref{Manual beams},
+@ref{Automatic beams},
+@ref{Unmetered music},
+@ref{Automatic accidentals},
+@ref{Setting automatic beam behavior},
+@ref{Time signature}.
+
+Schnipsel:
+@rlsr{World music}.
@node Arabic music example
@unnumberedsubsubsec Arabic music example
-@untranslated
+@cindex Beispiel der arabischen Musik
+@cindex arabische Musik, Beispiel
+@cindex Vorlage, arabische Musik
+
+Hier eine Vorlage, welche den Beginn eines türkischen Semai
+benutzt, der in der arabischen Musikerziehung oft herangezogen
+wird, um Besonderheiten der arabischen Musiknotation, wie
+etwa Zwischenintervalle und ungewöhnliche Modi, zu illustrieren.
+
+@lilypond[quote,verbatim]
+\include "arabic.ly"
+\score {
+ \relative re' {
+ \set Staff.extraNatural = ##f
+ \set Staff.autoBeaming = ##f
+ \key re \bayati
+ \time 10/8
+
+ re4 re'8 re16 [misb re do] sisb [la sisb do] re4 r8
+ re16 [misb do re] sisb [do] la [sisb sol8] la [sisb] do [re] misb
+ fa4 fa16 [misb] misb8. [re16] re8 [misb] re [do] sisb
+ do4 sisb8 misb16 [re do sisb] la [do sisb la] la4 r8
+ }
+ \header {
+ title = "Semai Muhayer"
+ composer = "Jamil Bek"
+ }
+}
+@end lilypond
+
+
+@seealso
+Schnipsel:
+@rlsr{World music}
@node Further reading
@unnumberedsubsubsec Further reading
-@untranslated
+@enumerate
+
+@item
+The Music of the Arabs von Habib Hassan Touma (Amadeus Press, 1996)
+enthält eine Beschreibung von Maqams und Methoden zu ihrer
+Gruppierung.
+
+Es gibt auch einige Internetseiten, die Maqams erklären und
+teilweise auch Klangdateien zur Verfügung stellen:
+
+@itemize @bullet
+@item
+@uref{http://www.maqamworld.com/}
+@item
+@uref{http://www.turath.org/}
+@end itemize
+
+Die Maqam-Gruppierungen unterscheiden sich in einigen Details, auch
+wenn die allgemeinen Kriterien weithin anerkannt sind:
+gemeinsame untere Tetrachorde sowie Modulation.
+@item
+Es gibt keine Übereinstimmung darüber, wie die Vorzeichen für
+bestimmte Maqams angegeben werden sollen. Oft wird eine
+Vorzeichenart für eine ganze Maqam-Gruppe verwendet, anstatt
+dass jeder Maqam eigene Vorzeichen hätte.
+Oud-Lehrbücher folgender Autoren enthalten Beispiele vor
+allem türkischer und arabischer Kompositionen:
-@c -- SKELETON FILE --
+@itemize @bullet
+@item
+Charbel Rouhana
+@item
+George Farah
+@item
+Ibrahim Ali Darwish Al-masri
+@end itemize
+@end enumerate
- <p><i>Actualizado en Tue Dec 9 09:40:49 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>4 Trucar la salida<br>(14581)</td>
+ <td>4 Trucar la salida<br>(14647)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sí</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>4 @command{lilypond-book}: integrar texto y música<br>(3185)</td>
+ <td>4 @command{lilypond-book}: integrar texto y música<br>(3248)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sí</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>1.1 Alturas<br>(3086)</td>
+ <td>1.1 Alturas<br>(3123)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sí</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>1.7 Anotaciones editoriales<br>(906)</td>
+ <td>1.7 Anotaciones editoriales<br>(895)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sí</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>2.2 Teclados y otros instrumentos de varios pentagramas<br>(725)</td>
+ <td>2.2 Teclados y otros instrumentos de varios pentagramas<br>(744)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sí</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>2.4 Instrumentos de cuerda con trastes<br>(1759)</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>(1333)</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>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>4 Problemas de espaciado<br>(8444)</td>
+ <td>4 Problemas de espaciado<br>(8451)</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>5 Cambiar los valores por omisión<br>(11291)</td>
+ <td>5 Cambiar los valores por omisión<br>(11391)</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>B Tablas del manual sobre notación<br>(1155)</td>
+ <td>B Tablas del manual sobre notación<br>(1190)</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: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
+Translation of GIT committish: 366fb60554c8b9b448bd67d27b1f2c4546819d2f
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
\relative c' \new Staff = "main" {
c4 c c c
<<
- \new Staff \with {alignAboveContext=main} \ossia
+ \new Staff \with { alignAboveContext = #"main" } \ossia
{ d8 f d f d f d f }
>>
}
* 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-aligned-interface}::
+* Using the @code{break-alignable-interface}::
@end menu
@node Setting @code{X-offset} and @code{Y-offset} directly
@c TODO The align-interface, BassFigureAlignment and VerticalAlignment
-@node Using the @code{break-aligned-interface}
-@unnumberedsubsubsec Using the @code{break-aligned-interface}
+@node Using the @code{break-alignable-interface}
+@unnumberedsubsubsec Using the @code{break-alignable-interface}
+
+@cindex alineación a objetos
+@cindex break-align-symbols
Las letras de ensayo se pueden alinear con objetos de notación
distintos a las barras de compás. Estos objetos son @code{ambitus},
@code{left-edge}, @code{key-cancellation}, @code{key-signature} y
@code{time-signature}.
-De forma predeterminada, las letras de ensayo se centran
-horizontalmente sobre el objeto:
+De forma predeterminada, las letras de ensayo y los números de compás
+se centran horizontalmente sobre el objeto:
@lilypond[verbatim,quote,relative=1]
e1
e2.
@end lilypond
-La alineación de la letra de enzayo con relación al objeto de notación
+Se puede especificar una lista de posibles objetos para la alineación.
+Si algunos de los objetos son invisibles en ese punto debido al valor
+de @code{break-visibility} o a valores de visibilidad explícitos para
+las armaduras y las claves, la letra de ensayo o número de compás se
+alinean con el primer objeto de la lista que sea visible. Si ningún
+objeto de la lista es visible, el objeto se alinea con la línea
+divisoria. Si la línea divisoria es invisible, el objeto se alinea
+con el punto en el que se encontraría la línea divisoria.
+
+@lilypond[verbatim,quote,relative=1]
+e1
+% the RehearsalMark will be centered above the Key Signature
+\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
+\key a \major
+\clef treble
+\mark "↓"
+e
+% the RehearsalMark will be centered above the Clef
+\set Staff.explicitKeySignatureVisibility = #all-invisible
+\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
+\key a \minor
+\clef bass
+\mark "↓"
+e,
+@end lilypond
+
+La alineación de la letra de ensayo con relación al objeto de notación
se puede cambiar, como se ve en el ejemplo siguiente. En una
partitura con varios pentagramas, este ajuste se debe hacer para todos
los pentagramas.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@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.
@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 {
@seealso
Referencia de la notación:
-@ref{Common chord modifiers}.
+@ref{Common chord modifiers},
+@ref{Extended and altered chords}.
Fragmentos de código:
@rlsr{Chords}.
+@knownissues
+Sólo se puede usar un modificador por cada acorde, normalmente sobre
+la nota más aguda del mismo. Los acordes con maś de un modificador se
+analizan sin producir errores ni advertencias, pero el resultado es
+impredecible. Los acordes que no se pueden conseguir con un solo
+modificador se deben alterar en sus notas individuales como se
+describe en @ref{Extended and altered chords}.
@node Extended and altered chords
@unnumberedsubsubsec Extended and altered chords
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 included from notation.itely
@ignore
- Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
+ Translation of GIT committish: 289a8244cb39275e313ddad57fe394da7a21c113
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@cindex selección del tamaño de la fuente tipográfica (de notación)
@cindex notación, tamaño de la fuente
@cindex notas, cabezas de
+
@funindex fontSize
@funindex font-size
@funindex magstep
@cindex estándar, tamaño de la tipografía (de notación)
@cindex fuente tipográfica (de notación), tamaño estándar de
+
@funindex font-interface
@funindex font-size
pentagrama de 20 puntos, se selecciona una fuente de 10 puntos.
La propiedad @code{font-size} sólo se puede establecer en objetos
-gráficos que utilicesn fuentes tipográficas. Éstos son los que
+gráficos que utilicen fuentes tipográficas. Éstos son los que
contemplan el interfaz de presentación @code{font-interface}.
@predefined
-@funindex \teeny
@code{\teeny} (enano),
-@funindex \tiny
@code{\tiny} (muy pequeño),
-@funindex \small
@code{\small} (pequeño),
-@funindex \normalsize
@code{\normalsize} (normal),
-@funindex \large
@code{\large} (grande),
-@funindex \huge
@code{\huge} (enorme).
@endpredefined
@cindex digitación
@cindex cambio de dedo
-@funindex font-interface
-@funindex font-size
+
+@funindex \finger
+@funindex finger
Las instrucciones de digitación se pueden introducir usando
@var{nota}-@var{dígito}:
@end lilypond
@cindex thumb-script
+
@funindex \thumb
@funindex thumb
@cindex notas ocultas
@cindex notas invisibles
@cindex notas transparentes
+
@funindex \hideNotes
@funindex hideNotes
@funindex \unHideNotes
@cindex coloreados, objetos
@cindex colores
-@cindex colorear objects
+@cindex colorear objetos
+@cindex objetos, colorear
@cindex coloreadas, notas
@cindex colorear notas
@cindex notas coloreadas
@cindex x11-color
@cindex colores de x11
@cindex with-color
+
@funindex color
@funindex \with-color
@funindex with-color
@cindex rgb-color
@cindex color rgb
@cindex rgb, color
+
@funindex rgb-color
Se pueden especificar colores RGB exactos utilizando la función de
@cindex coloreadas, notas de acorde
@cindex notas coloreadas en acordes
@cindex color en acordes
+
@funindex x11-color
@knownissues
@cindex notas fantasma
@cindex notas entre paréntesis
@cindex paréntesis
+
@funindex \parenthesize
@funindex parenthesize
@rinternals{ParenthesesItem},
@rinternals{parentheses-interface}.
-
@knownissues
Al poner un acorde entre paréntesis, se encierra cada una de las notas
individuales entre paréntesis, en vez de un solo paréntesis grande
rodeando al acorde completo.
+
@node Stems
@unnumberedsubsubsec Stems
@cindex plica invisible
@cindex invisible, plica
+@funindex \stemUp
+@funindex stemUp
+@funindex \stemDown
+@funindex stemDown
+@funindex \stemNeutral
+@funindex stemNeutral
+
Cuando se encuentra con una nota, se crea automáticamente un objeto
@code{Stem} (plica). Para las redondas y los silencios, también se
crean pero se hacen invisibles.
-
@predefined
-@funindex \stemUp
@code{\stemUp},
-@funindex \stemDown
@code{\stemDown},
-@funindex \stemNeutral
@code{\stemNeutral}.
@endpredefined
-
@snippets
@cindex stem, direction
@cindex notación, explicación de
@cindex globo de ayuda
@cindex ayuda, globos de
+
@funindex \balloonGrobText
@funindex \balloonText
@funindex Balloon_engraver
@funindex balloonGrobText
@funindex balloonText
+@funindex \balloonLengthOn
+@funindex balloonLengthOn
+@funindex \balloonLengthOff
+@funindex balloonLengthOff
Los elementos de notación se pueden marcar y nombrar con la ayuda de
un cartel o globo de ayuda rectangular. El propósito principal de
@predefined
-@funindex balloonLengthOn
-@funindex \balloonLengthOn
@code{\balloonLengthOn},
-@funindex \balloonLengthOff
-@funindex balloonLengthOff
@code{\balloonLengthOff}.
@endpredefined
@cindex líneas de rejilla
@cindex vertical, línea, entre pentagramas
@cindex línea vertical entre pentagramas
+
@funindex Grid_point_engraver
@funindex Grid_line_span_engraver
@funindex gridInterval
@cindex fraseo, corchetes de
@cindex corchetes de fraseo
@cindex musicológico, análisis
+@cindex análisis musicológico
@cindex notas, corchetes de agrupación de
@cindex horizontal, corchete
@cindex corchete horizontal
+
@funindex Horizontal_bracket_engraver
@funindex \startGroup
@funindex startGroup
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@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.
@end lilypond
Se pueden incluir digitaciones y cejillas en una cadena de marcado
-prolija @code{fret-diagram-verbose}.
+prolija @code{fret-diagram-verbose}. Es exclusiva del interfaz de
+fret-diagram-verbose la indicación @q{capo} que se puede colocar sobre
+el diagrama de posición. La indicación de capo es una barra gruesa
+que cubre todas las cuerdas. El traste que tiene el capo es el más
+bajo del diagrama de posición.
@c \override is necessary to make fingering visible
@lilypond[quote, verbatim]
<<
\context ChordNames {
\chordmode {
- f1 g
+ f1 g c
}
}
\context Staff {
(open 2)
(place-fret 1 3 3)
)
- }
+ < c e g c' e'> ^\markup
+ \fret-diagram-verbose #'(
+ (capo 3)
+ (mute 6)
+ (place-fret 4 5 1)
+ (place-fret 3 5 2)
+ (place-fret 2 5 3)
+ )
+ }
>>
@end lilypond
@cindex personalizados, añadir diagramas de traste
@cindex diagramas de trastes personalizados, añadir
-Se pueden añadir diagramas de traste a la tabla de diagramas sFret
-diagrams can be added to the fret diagram table. Para añadir un
-diagrama debemos especificar el acorde del diagrama, la afinación
-utilizadathe tuning to be used y la cadena de definición escueta
-fret-diagram-terse del diagrama.
+Se pueden añadir diagramas de posiciones a la tabla de diagramas de
+posiciones. Para añadir un diagrama debemos especificar el acorde del
+diagrama, la afinación utilizada y una definición del diagrama. La
+definición del diagrama puede ser una cadena de definición escueta
+fret-diagram-terse o una lista de marcados prolija
+fret-diagram-verbose.
@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
\storePredefinedDiagram \chordmode {c'}
#guitar-tuning
- #(offset-fret 2 (chord-shape 'bes))
+ #(offset-fret 2 (chord-shape 'bes guitar-tuning))
mychords = \chordmode{
c1 c'
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.
+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.
@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
% add a new chord shape
-\addChordShape #'powerf #"1-1;3-3;3-4;x;x;x;"
+\addChordShape #'powerf #guitar-tuning #"1-1;3-3;3-4;x;x;x;"
% add some new chords based on the power chord shape
\storePredefinedDiagram \chordmode {f'}
#guitar-tuning
- #(chord-shape 'powerf)
+ #(chord-shape 'powerf guitar-tuning)
\storePredefinedDiagram \chordmode {g'}
#guitar-tuning
- #(offset-fret 2 (chord-shape 'powerf))
+ #(offset-fret 2 (chord-shape 'powerf guitar-tuning))
mychords = \chordmode{
f1 f' g g'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond-learning.tely
@ignore
- Translation of GIT committish: e2fedc46142bc323d48e696848327c6c0e4c9ede
+ Translation of GIT committish: bc4543c30c67f02dadc392880f27d4581e2d7681
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 Fundamental concepts
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main" }
+ alignAboveContext = #"main" }
{ f8 f c }
>>
r4 |
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" { \global \sopranoMusic }
>>
\new Lyrics \lyricsto "sopranos" { \sopranoWords }
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" { \global \altoMusic }
>>
\new Lyrics \lyricsto "altos" { \altoWords }
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" { \global \tenorMusic }
>>
\new Lyrics \lyricsto "tenors" { \tenorWords }
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" { \global \bassMusic }
>>
\new Lyrics \lyricsto "basses" { \bassWords }
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano"
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
@example
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" @{ \global \musicaSoprano @}
>>
\new Lyrics \lyricsto "sopranos" @{ \latraSoprano @}
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" @{ \global \musicaAlto @}
>>
\new Lyrics \lyricsto "altos" @{ \letraAlto @}
\new Staff = "tenores" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenores" @{ \global \musicaTenor @}
>>
\new Lyrics \lyricsto "tenores" @{ \letraTenor @}
\new Staff = "bajos" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "bajos" @{ \global \musicaBajo @}
>>
\new Lyrics \lyricsto "bajos" @{ \letraBajo @}
@example
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano"
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff = "superior" \superior
\new Staff = "inferior" \inferior
>>
>> % fin del ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano"
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" { \global \sopranoMusic }
>>
\new Lyrics \lyricsto "sopranos" { \sopranoWords }
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" { \global \altoMusic }
>>
\new Lyrics \lyricsto "altos" { \altoWords }
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" { \global \tenorMusic }
>>
\new Lyrics \lyricsto "tenors" { \tenorWords }
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" { \global \bassMusic }
>>
\new Lyrics \lyricsto "basses" { \bassWords }
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano "
+ \set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
+ Translation of GIT committish: bc4543c30c67f02dadc392880f27d4581e2d7681
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
@example
\new Staff @{
- \set Staff.midiInstrument = "glockenspiel"
+ \set Staff.midiInstrument = #"glockenspiel"
@var{...notes...}
@}
@end example
@example
-\new Staff \with @{midiInstrument = "cello"@} @{
+\new Staff \with @{midiInstrument = #"cello"@} @{
@var{...notes...}
@}
@end example
\score {
\new Staff {
- \set Staff.midiInstrument = "cello"
+ \set Staff.midiInstrument = #"cello"
\set Score.dynamicAbsoluteVolumeFunction = #myDynamics
\new Voice {
\relative c'' {
@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: 4f8c7b381812949e6f765f641fba9108b52af56b
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@subsection Common notation for keyboards
Esta sección trata aspectos de notación que pueden aparecer en casi
-todos los instrumentos que tengan muchas cuerdas.
+todos los instrumentos de teclado.
@menu
* References for keyboards::
@end itemize
+@c @snippets
+@c @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@c {forcing-visibility-of-systems-with-multi-bar-rests-when-using-\RemoveEmptyStaffContext.ly}
+@c http://lsr.dsi.unimi.it/LSR/Item?u=1&id=312
@seealso
Manual de aprendizaje:
Si se necesita más control sobre los pentagramas individuales, se
pueden crear manualmente con los nombres @code{"up"} y @code{"down"}.
Entonces, la instrucción @code{\autochange} alternará su voz entre los
-pentagramas existentes. Por ejemplo, esto es necesario para colocar
-una armadura de tonalidad en el pentagrama inferior:
+pentagramas existentes.
-@lilypond[quote,verbatim]
+@warning{Si se crean los pentagramas manualmente, @emph{se deben}
+llamar @code{"up"} y @code{"down"} (en inglés).}
+
+Por ejemplo, esto es necesario para colocar una armadura de tonalidad
+en el pentagrama inferior:
+
+@c Keep Ly needed, otherwise 'up' and 'down' get incorrectly translated in verbatim output
+@c KEEP LY
+@lilypond[quote,verbatim,nogettext]
\new PianoStaff <<
\new Staff = "up" {
- \new Voice = "melOne" {
+ \new Voice = "melodiaUno" {
\key g \major
\autochange \relative c' {
g8 b a c b d c e
@node Harp
@subsection Harp
+Esta sección trata sobre asuntos de notación específicos del arpa.
+
@menu
-* Harp notation::
+* References for harps::
* Harp pedals::
@end menu
-@node Harp notation
-@unnumberedsubsubsec Harp notation
+@node References for harps
+@unnumberedsubsubsec References for harps
+@cindex harps
+@cindex bisbiglando
-Continuará...
+Ciertas características comunes de la música de arpa se estudian en
+otras partes de la documentación:
-@ignore
-Some possibilities:
-- glissandi
-- tremolo (for bisbigliando)
-- natural harmonics
-- directional arpeggio and non-arpeggio
-- workaroung for keeping both staves visible in an orchestral
- score,
-http://lists.gnu.org/archive/html/lilypond-user/2007-08/msg00386.html
-and http://lsr.dsi.unimi.it/LSR/Item?u=1&id=312
-
-An LSR snippet could be used to demonstrate the main items; in the
-case of glissandi, it would be desirable to have a demonstration
-of different styles.
-@end ignore
+@itemize
+
+@item El glissando es la técnica más característica del arpa,
+@ref{Glissando}.
+
+@item El @notation{bisbigliando} se escribe como un trémolo, @ref{Tremolo
+repeats}
+
+@item Los armónicos naturales se estudian bajo el epígrafe @ref{Harmonics}.
+
+@item Para los arpegios dirigidos y los no arpegios, véase @ref{Arpeggio}.
+
+@end itemize
+
+@seealso
+Referencia de la notación:
+@ref{Tremolo repeats},
+@ref{Glissando},
+@ref{Arpeggio},
+@ref{Harmonics}.
@node Harp pedals
@unnumberedsubsubsec Harp pedals
@seealso
Referencia de la notación:
-@ruser{Text scripts}.
+@ref{Text scripts},
+@ref{Instrument Specific Markup}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond-program.tely
@ignore
- Translation of GIT committish: e2fedc46142bc323d48e696848327c6c0e4c9ede
+ Translation of GIT committish: 03baa9b14ef082fc7d651649a4081f326be304e1
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
f2 e
@end example
+@noindent
+Si queremos traducir los comentarios y los nombres de variable en la
+salida literal pero no en el código fuente, podemos establecer el
+valor de la variable de entorno @code{LYDOC_LOCALEDIR} a la ruta de un
+directorio; este directorio debe contener un árbol de catálogos de
+mensajes @file{.mo} con @code{lilypond-doc} como dominio.
+
@item addversion
(Sólo para la salida de Texinfo.) Anteponer la línea @code{\version
@@w@{"@@version@{@}"@}} a la salida de @code{verbatim}.
referida al procesado de @code{texidoc} con idiomas localizados se
aplica a @code{doctitle}.
+@item nogettext
+(Sólo para la salida de Texinfo.) No traducir los comentarios y
+nombres de variable en el fragmento de código literal citado.
+
@item printfilename
Si un archivo de entrada de LilyPond se incluye con
@code{\lilypondfile}, imprimir el nombre del archivo inmediatamente
@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.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 0646758d26f727fc27fc13a87df2362388909e5d
+ Translation of GIT committish: bc4543c30c67f02dadc392880f27d4581e2d7681
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@tab
Tríada disminuida y séptima menor
@tab
-@code{dim5m7}
+@code{m7.5-}
@tab
@lilypond[line-width=3\cm,noragged-right, notime]
\chordmode {
@tab
Tríada menor con séptima mayor
@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
-Novena mayor
+Mayor con novena
@tab
-HACER
+Séptima mayor y novena mayor
@tab
@code{maj9}
@tab
@item
Menor con novena
@tab
-HACER
+Séptima menor y novena mayor
@tab
@code{m9}
@tab
@item
Oncena mayor
@tab
-HACER
+Novena mayor y oncena justa
@tab
@code{maj11}
@tab
@item
Menor con oncena
@tab
-HACER
+Novena menor y oncena justa
@tab
@code{m11}
@tab
}
@end lilypond
+@item
+Trecena dominante
+@tab
+Novena dominante y trecena mayor
+@tab
+@code{13}
+@tab
+@lilypond[line-width=3\cm,noragged-right, notime]
+\chordmode {
+ c1:13
+}
+@end lilypond
+
@item
Trecena dominante
@tab
@item
Mayor con trecena
@tab
-HACER
+Oncena mayor y trecena mayor
@tab
@code{maj13.11}
@tab
@item
Menor con trecena
@tab
-HACER
+Oncena menor y trecena mayor
@tab
@code{m13.11}
@tab
@item
Segunda suspendida
@tab
-HACER
+Segunda mayor y quinta justa
@tab
@code{sus2}
@tab
@item
Cuarta suspendida
@tab
-HACER
+Cuarta justa y quinta justa
@tab
@code{sus4}
@tab
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
+ Translation of GIT committish: bc4543c30c67f02dadc392880f27d4581e2d7681
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.62"
+@c \version "2.11.65"
@node Percussion
@section Percussion
tambustaff = {
\override Staff.StaffSymbol #'line-positions = #'( 0 )
\override Staff.BarLine #'bar-size = #3
- \set DrumStaff.instrumentName = "Tambourine"
+ \set DrumStaff.instrumentName = #"Tambourine"
}
\new DrumStaff {
tamtamstaff = {
\override Staff.StaffSymbol #'line-positions = #'( 0 )
\override Staff.BarLine #'bar-size = #3
- \set DrumStaff.instrumentName = "Tamtam"
+ \set DrumStaff.instrumentName = #"Tamtam"
}
\new DrumStaff {
\override DrumStaff.StaffSymbol #'line-positions = #'(-2 3)
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
\override Staff.BarLine #'bar-size = #3
- \set DrumStaff.instrumentName = "Different Bells"
+ \set DrumStaff.instrumentName = #"Different Bells"
}
\new DrumStaff {
}
\new DrumStaff {
- \set DrumStaff.instrumentName = "Grosse Caisse"
+ \set DrumStaff.instrumentName = #"Grosse Caisse"
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
\drumsB }
>>
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
+ Translation of GIT committish: bc4543c30c67f02dadc392880f27d4581e2d7681
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 Pitches
@cindex alturas
@cindex absoluta
@cindex absoluta, especificación, de la octava
+@cindex octava, especificación absoluta
@cindex absoluta, introducción, de la octava
+@cindex octava, introducción absoluta
El nombre de una nota se especifica usando las letras minúsculas de la
@code{a} a la @code{g}. Las notas cuyos nombres van desde @code{c}
@end lilypond
@cindex octava, marca de cambio de
+
@funindex '
@funindex ,
@cindex relativo
@cindex relativas, especificación de octavas
+@cindex octava, introducción relativa
+@cindex relativa, especificación de la octava
+@cindex ocatva, especificación relativa
+
+@funindex relative
@funindex \relative
Cuando las octavas se especifican en modo absoluto, es fácil poner por
}
@end lilypond
+@cindex acordes e introducción relativa de la octava
+@cindex relativa, introducción de la octava, y acordes
Si el elemento anterior es un acorde, la primera nota del acorde se
utiliza para determinar la primera nota del siguiente acorde. Dentro
}
@end lilypond
-
@seealso
Glosario musical:
@rglos{fifth},
Referencia de funcionamiento interno:
@rinternals{RelativeOctaveMusic}.
-
@cindex relativo, modo, transposición y
@cindex transposición y modo relativo
+
@funindex \transpose
+@funindex transpose
@funindex \chordmode
+@funindex chordmode
@funindex \relative
+@funindex relative
@knownissues
-
La conversión relativa no afecta a las secciones @code{\transpose},
@code{\chordmode} o @code{\relative} en su argumento. Para usar el
modo relativo dentro de música transportada, se debe escribir un
@cindex notas, nombres holandeses de
@cindex notas, nombres predeterminados
+@cindex predeterminados, nombres de nota
@cindex sostenido
@cindex bemol
@cindex doble sostenido
@end lilypond
@cindex cuartos de tono
-@cindex semi-bemoles, semi-sostenidos
+@cindex semi-bemoles
+@cindex semi-sostenidos
Se pueden escribir medios bemoles y los medios sostenidos; a
continuación presentamos una serie de DOs cada vez más agudos:
@cindex alteración de precaución
@cindex alteración con paréntesis
@cindex recordatoria, alteración
-@funindex ?
@cindex precaución, alteración de
@cindex paréntesis, alteración con
+
+@funindex ?
@funindex !
Normalmente las alteraciones accidentales se imprimen automáticamente,
@cindex octava, comprobación de
@cindex octava, corrección de
@cindex control, alturas de
+
@funindex =
@funindex \octaveCheck
+@funindex octaveCheck
@funindex controlpitch
En el modo relativo, es fácil olvidar una marca de cambio de octava.
@cindex transposición de notas
@cindex alturas, transporte de
@cindex notas, transporte de
+
@funindex \transpose
+@funindex transpose
Una expresión musical se puede transportar mediante @code{\transpose}.
La sintaxis es
}
@end lilypond
-@cindex transpositores, instrumentos
-@cindex instrumentos transpositores
-
Si una particella escrita en Do (@notation{afinación de concierto}
normal) se debe tocar con un clarinete en La (para el que un La se
escribe como un Do, y que suena una tercera menor por debajo de lo que
Referencia de funcionamiento interno:
@rinternals{TransposedMusic}.
-
@funindex \transpose
+@funindex transpose
@funindex \chordmode
+@funindex chordmode
@funindex \relative
+@funindex relative
@knownissues
@node Clef
@unnumberedsubsubsec Clef
-@funindex \clef
+
@cindex Sol, clave de
@cindex Do, clave de
@cindex Fa, clave de
@cindex clave de barítono
@cindex clave de contrabajo
+@funindex \clef
+@funindex clef
+
La clave se establece con la instrucción @code{\clef}
@var{nombre_de_clave}. En todos los ejemplos se muestra el Do
central.
@cindex clave transpositora
@cindex octava, transposición de
@cindex coral, clave de tenor
+@cindex tenor coral, clave
Al añadir @code{_8} o @code{^8} al nombre de la clave, la clave se
transpone una octava hacia abajo o hacia arriba, respectivamente, y
@unnumberedsubsubsec Key signature
@cindex Armadura de la tonalidad
+
@funindex \key
+@funindex key
Las alteraciones accidentales y las armaduras son una frecuente causa de confusión para los nuevos usuarios,
porque las notas sin alteración pueden llevar signos de becuadro en función de la armadura.
@end example
@funindex \major
+@funindex major
@funindex \minor
+@funindex minor
@funindex \ionian
+@funindex ionian
@funindex \locrian
+@funindex locrian
@funindex \aeolian
+@funindex aeolian
@funindex \mixolydian
+@funindex mixolydian
@funindex \lydian
+@funindex lydian
@funindex \phrygian
+@funindex phrygian
@funindex \dorian
+@funindex dorian
+
@cindex modos eclesiásticos
@cindex modos
-@cindex major
-@cindex minor
-@cindex ionian
-@cindex locrian
-@cindex aeolian
-@cindex mixolydian
-@cindex lydian
-@cindex phrygian
-@cindex dorian
@cindex mayor, modo
@cindex menor, modo
@cindex eonio, modo
@cindex 15ma
@cindex 8va
@cindex octavación
+
@funindex set-octavation
+@funindex \ottava
+@funindex ottava
Los @notation{corchetes de Ottava} introducen un trasporte adicional
de una octava para el pentagrama.
@cindex transpositor, instrumento
@cindex MIDI
@cindex MIDI, transposición
+
@funindex \transposition
+@funindex transposition
Al tipografiar partituras donde participan instrumentos
transpositores, ciertas partes se pueden tipografiar en un tono
\new GrandStaff <<
\new Staff = "violin" {
\relative c'' {
- \set Staff.instrumentName = "Vln"
- \set Staff.midiInstrument = "violin"
+ \set Staff.instrumentName = #"Vln"
+ \set Staff.midiInstrument = #"violin"
% not strictly necessary, but a good reminder
\transposition c'
\new Staff = "clarinet" {
\relative c'' {
\set Staff.instrumentName = \markup { Cl (B\flat) }
- \set Staff.midiInstrument = "clarinet"
+ \set Staff.midiInstrument = #"clarinet"
\transposition bes
\key d \major
clarinete en Si bemol.
@lilypond[verbatim,quote,relative=2]
-\set Staff.instrumentName = "Cl (A)"
+\set Staff.instrumentName = #"Cl (A)"
\key a \major
\transposition a
c d e f
@cindex alteraciones, estilo de las
@cindex predeterminado, estilo de las alteraciones
@cindex alteraciones, estilo predeterminado de las
+
@funindex set-accidental-style
@funindex voice
+@funindex default
Existen muchas convenciones distintas sobre la forma de tipografiar
las alteraciones. LilyPond proporciona una función para especificar
Están contemplados los siguientes estilos de alteración. Para dar una
muestra de cada uno de los estilos, utilizamos el ejemplo siguiente:
-@funindex default
-
@lilypond[verbatim,quote]
musicA = {
<<
@item default (predeterminado)
@cindex alteraciones, estilo predeterminado
+
@funindex default
Es el comportamiento de composición tipográfica predeterminado.
@cindex moderno, estilo de alteraciones
@cindex alteraciones, estilo, moderno-precaución
@cindex moderno-precaución, estilo de alteraciones
+
@funindex voice
El comportamiento normal es recordar las alteraciones accidentales al
@cindex alteraciones, estilo moderno
@cindex moderno, alteraciones de estilo
+
@funindex modern
Esta regla corresponde a la práctica común del s. XX. Imprime las
@cindex alteraciones, estilo moderno de precaución
@cindex moderno, alteraciones de estilo
@cindex moderno de precaución, alteraciones de estilo
+
@funindex modern-cautionary
Esta regla es similar a @code{modern}, pero las alteraciones
@cindex moderno, alteraciones de estilo
@cindex voces, alteraciones en varias
@cindex alteración, estilo moderno de
+
@funindex modern-voice
Esta regla se usa para que puedan leer las alteraciones en varias
@cindex alteración, estilo de voz de precaución moderno
@cindex alteración de voz de precaución moderno, estilo de
@cindex alteración, moderno de precaución, voz, estilo de
+
@funindex modern-voice-cautionary
Esta regla es la misma que @code{modern-voice}, pero con las
@cindex piano, alteraciones de
@cindex alteraciones de piano
@cindex piano, estilo de alteraciones de
+
@funindex piano
Esta regla refleja la práctica del s.XX para la notación de piano. Su
@item piano-cautionary (piano, de precaución)
-@funindex piano-cautionary
@cindex alteraciones, piano de precaución, estilo de
@cindex alteraciones, piano de precaución
@cindex precaución, estilo de alteraciones, piano
@cindex piano de precaución, estilo de alteraciones
@cindex piano de precaución, alteraciones
+@funindex piano-cautionary
+
Igual que @code{#(set-accidental-style 'piano)} pero con las
alteraciones añadidas compuestas como de precaución.
@end lilypond
@item neo-modern
-@funindex neo-modern
@cindex neo-moderno, estilo de alteraciones
@cindex alteraciones, estilo de, neo-moderno
+@funindex neo-modern
+
Esta regla reproduce una práctica común en la música contemporánea:
las alteraciones accidentales se imprimen como en @code{modern}, pero
se vuelven a imprimir si aparece la misma nota otra vez en el mismo
@item neo-modern-cautionary
-@funindex neo-modern-cautionary
@cindex neo-moderno de precaución, estilo de alteraciones
@cindex alteraciones, estilo, neo-moderno de precaución
+@funindex neo-modern-cautionary
+
Esta regla es similar a @code{neo-modern}, pero las alteraciones
adicionales se imprimen como alteraciones de precaución.
@item dodecaphonic
-@funindex dodecaphonic
@cindex dodecafónico, estilo de alteraciones
@cindex alteraciones, estilo, dodecafónico
+@funindex dodecaphonic
+
Esta regla refleja una práctica introducida por los compositores de
principios del s.XX, en un intento de abolir la jerarquía entre notas
naturales y alteradas. Con este estilo, @emph{todas} las notas llevan
@item teaching (enseñanza)
-@funindex teaching
@cindex teaching (enzeñanza), estilo de alteraciones
@cindex alteraciones, estilo teaching (enseñanza)
+@funindex teaching
+
Esta regla está pensada para estudiantes, y hace más sencillo crear
hojas de escalas con alteraciones de precaución creadas
automáticamente. Las alteraciones se imprimen como en el estilo
@item no-reset (no restablecer)
-@funindex no-reset
@cindex alteraciones no restablecer, estilo de
@cindex no restablecer, estilo de alteraciones
+@funindex no-reset
+
Es el mismo que @code{default} pero con alteraciones que duran @q{para
siempre} y no sólo dentro del mismo compás:
@item forget (olvidar)
-@funindex forget
@cindex olvidar, estilo de alteraciones
@cindex alteración, estilo de, olvidar
+@funindex forget
+
Es lo opuesto a @code{no-reset}: Las alteraciones no se recuerdan en
absoluto: de aquí que todas las alteraciones se compongan
tipográficamente en relación a la armadura de la tonalidad, sin que
@cindex guitarra, cabezas de nota
@cindex nota, cabeza de, estilos
@cindex estilos de cabeza de nota
+
@funindex cross
Se puede modificar la cabeza de las notas:
@cindex nots, cabezas de, para precticar
@cindex simplificada, notación
+@funindex \easyHeadsOn
+@funindex easyHeadsOn
+@funindex \easyHeadsOff
+@funindex easyHeadsOff
+
Las cabezas @q{easy play} (fáciles de tocar) tienen el nombre de la
nota (en inglés) dentro de la cabeza. Se usa en la música para
principiantes.
@predefined
-@funindex \easyHeadsOn
@code{\easyHeadsOn},
-@funindex \easyHeadsOff
@code{\easyHeadsOff}.
@endpredefined
@cindex formas, notas con
@cindex Aiken, cabezas de nota con forma de
@cindex arpa sacra, cabezas de nota de
+
@funindex \key
+@funindex key
@funindex \aikenHeads
+@funindex aikenHeads
@funindex \sacredHarpHeads
+@funindex sacredHarpHeads
En la notación de cabezas con forma, la forma de la cabeza corresponde
a la función armónica de una nota dentro de la escala. Esta notación
@predefined
-@funindex \aikenHeads
@code{\aikenHeads},
-@funindex \sacredHarpHeads
@code{\sacredHarpHeads}.
@endpredefined
@cindex notas, cabezas de, improvisación
@cindex notas, cabezas de, barradas
+@funindex \improvisationOn
+@funindex improvisationOn
+@funindex \improvisationOff
+@funindex improvisationOff
+
La improvisación se denota a veces mediante cabezas de nota en forma
de barra inclinada, donde el ejecutante puede elegir cualquier nota
pero con el ritmo especificado. Estas cabezas de nota se crean así:
@predefined
-@funindex \improvisationOn
@code{\improvisationOn},
-@funindex \improvisationOff
@code{\improvisationOff}.
@endpredefined
@rinternals{Pitch_squash_engraver},
@rinternals{Voice},
@rinternals{RhythmicStaff}.
-
@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
@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: a665ef1bf16700359aa81ec649d3a500bfa72213
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
Si se añade el símbolo @code{'landscape} (apaisado) como argumento a
@code{set-default-paper-size}, las páginas se giran 90 grados y se
-establecen en consonancia un longitud mayor de las líneas.
+establece en consonancia una mayor longitud de las líneas.
@example
#(set-default-paper-size "a6" 'landscape)
@end example
-al establecer el tamaño del papel se ajustan un cierto número de
+Al establecer el tamaño del papel se ajustan un cierto número de
variables del @code{\paper}, tales como los márgenes. Para utilizar
un tamaño de página determinado con variables de @code{\paper}
alteradas, establezca el tamaño de página antes de dar valores a las
@item page-top-space
@funindex page-top-space
-Distancia desde la parte alte del área imprimible hasta el centro del
+Distancia desde la parte alta del área imprimible hasta el centro del
primer pentagrama. Esto sólo funciona para pentagramas con una
anchura vertical pequeña. Los pentagramas grandes se establecen con
la parte alta de su caja circundante alineada a la parte alta del área
@item auto-first-page-number
@funindex auto-first-page-number
-EL algoritmo de división de páginas está afectado por el hecho de que
+El algoritmo de división de páginas está afectado por el hecho de que
el número de la primera página sea par o impar. Si está establecido
al valor verdadero, el algoritmo de división de páginas decide si
comenzar con un número par o impar. Esto hace que el número de la
@funindex ragged-last
Si está establecido a un valor verdadero, el último sistema de la
-partitura no llenará la anchura de la línea. En su lugar, el últim
+partitura no llenará la anchura de la línea. En su lugar, el último
sistema termina en su longitud horizontal natural. Predeterminado:
@code{##f}.
@noindent
Esto establece el tamaño global predeterminado a una altura de
-pentagrama de 14pt y escala todas las tipografías de manera
-correspondiente.
+pentagrama de 14pt y escala todas las tipografías según corresponda.
Para establecer el tamaño del pentagrama de forma individual para cada
partitura, use
@funindex \layout
-Mientras que @code{\paper} conteine ajustes relativos al formato de
+Mientras que @code{\paper} contiene ajustes relativos al formato de
página del documento completo, @code{\layout} contiene ajustes para la
disposición específica de cada partitura.
Esto se puede evitar eliminando el grabador
@code{Forbid_line_break_engraver}. Observe que los saltos de línea
-forzados manualmente breaks se tienen que añadir en paralelo con la
-música.
+forzados manualmente se tienen que añadir en paralelo con la música.
@lilypond[quote,ragged-right,verbatim]
\new Voice \with {
@cindex espacio entre pentagramas
@cindex espacio dentro de los sistemas
-La altura de cad sistema se determina automáticamente. Para evitar
+La altura de cada sistema se determina automáticamente. Para evitar
que los pentagramas se superpongan unos encima de otros, se establecen
algunas distancias mínimas. Al modificarlas, podemos poner los
pentagramas más cerca unos de otros. Esto reduce el espacio que
debajo dándole el valor @code{(-6 . 4)}.
Después de que se han determinado los saltos de página, se reevalúa el
-espaciado vertical dentrod e cada sistema para llenar la página de
+espaciado vertical dentro de cada sistema para llenar la página de
forma más regular; si una página tiene más espacio de sobra, se
amplían los sistemas para poder llenar este espacio. La magnitud de
esta ampliación se puede configurar a través de la propiedad
@code{page-limit-inter-system-space} en el bloque @code{\paper}. La
variable del papel @code{page-limit-inter-system-space-factor}
determina en qué cantidad se puede incrementar el espacio: por
-ejemplo, el valor @code{1.3} sisgnifica que el espacio puede ser un
+ejemplo, el valor @code{1.3} significa que el espacio puede ser un
30% mayor que lo que sería en una página no justificada hasta abajo.
En el ejemplo siguiente, si el espacio entre los sistemas no estuviese
}
@end lilypond
-Aobserve que aquí asignamos dos valores distintos al atributo
+Observe que aquí asignamos dos valores distintos al atributo
@code{line-break-system-details} del grob
@code{NonMusicalPaperColumn}. Aunque el atributo alist de
@code{line-break-system-details} acepta muchos parámetros de espaciado
pentagrama de acuerdo a su prioridad @code{outside-staff-priority} (en
orden creciente). LilyPond toma los objetos fuera del pentagrama uno
a uno y los coloca de forma que no choquen con ningún objeto que ya
-haya sido colocado. Eesto es, si dos grobs fuera del pentagrama
+haya sido colocado. Esto es, si dos grobs fuera del pentagrama
compiten por el mismo espacio, el que tiene la prioridad
@code{outside-staff-priority} más baja se colocará más próximo al
pentagrama.
c^"This text is placed close to the previous text"
@end lilypond
-HACER: ¿este ejemplo ya no funciona?
-
-De forma predeterminada, los objetos fuera del pentagrama se sitúan
-sin tener en cuenta su distancia horizontal a partir de los grobs
-posicionados previamente. Esto puede llevar a situiaciones en las que
-los objetos se colocan muy próximos entre sí en el sentido horizontal.
-El establecimiento del relleno horizontal
+De forma predeterminada, los objetos fuera del pentagrama se colocan
+sólo para evitar una colisión horizontal con los grobs posicionados
+previamente. Esto puede llevar a situaciones en las que los objetos
+se colocan muy próximos entre sí en el sentido horizontal. El espacio
+vertical entre pentagramas se puede fijar también de manera que los
+objetos fuera del pentagrama se sitúen de forma intercalada. El
+establecimiento del relleno horizontal
@code{outside-staff-horizontal-padding} ocasiona que un objeto se
-desplace verticalmente para que tal situiación no ocurra.
+desplace verticalmente para que tal situación no ocurra.
@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
% the markup is too close to the following note
-c2^"Text"
+c4^"Text"
+c4
c''2
% setting outside-staff-horizontal-padding fixes this
R1
\once \override TextScript #'outside-staff-horizontal-padding = #1
-c,,2^"Text"
+c,,4^"Text"
+c4
c''2
@end lilypond
Si siguiésemos el procedimiento anterior exactamente, entonces la
adición de una sola fusa a una partitura que usa corcheas y
-semicorcheas, aumentaría enormemente la anchuta de la partitura
+semicorcheas, aumentaría enormemente la anchura de la partitura
completa. La nota más breve ya no es la semicorchea, sino la fusa,
añadiendo así 1 ACB a cada una de las notas. Para evitarlo, la
duración más breve a efectos de espaciado no es la nota más breve de
Estas duraciones también se pueden personalizar. Si establecemos la
@code{common-shortest-duration} en @rinternals{SpacingSpanner},
entonces éste establece la duración base para el espaciado. La
-duración máxima para esta base (normalmente un a corchea), se fija a
+duración máxima para esta base (normalmente una corchea), se fija a
través de @code{base-shortest-duration}.
@funindex common-shortest-duration
@end lilypond
La blanca al princpio del compás y las notas rápidas de la segunda
-mitad del compás ocupan ahora igual cantidades iguales de espacio
+mitad del compás ocupan ahora cantidades iguales de espacio
horizontal. Podríamos colocar una línea de tiempo graduada o un
gráfico encima o debajo de este ejemplo.
Sería posible evitar los problemas de espaciado con las armaduras,
simplemente evitando tenerlas. Esta es una opción válida pues casi
todas las partituras proporcionales son música contemporánea. Lo
-mismo puede valer para las indicaciones de compás, espacialmente para
-las partituras que incluyen ula línea de tiempo graduada u otro
+mismo puede valer para las indicaciones de compás, especialmente para
+las partituras que incluyen una línea de tiempo graduada u otro
gráfico. Pero estas partituras son excepcionales y casi todas las
partituras proporcionales incluyen al menos unas pocas indicaciones de
compás. Las claves y las alteraciones son aún más esenciales.
@end lilypond
Las dos poartituras son proporcionales, pero el espaciado de la
-primera es muy suelto a causa del cmabio de clave. Sin embargo, el
+primera es muy suelto a causa del cambio de clave. Sin embargo, el
espaciado de la segunda partitura se mantiene estricto, porque
@code{strict-note-spacing} está activado. La activación de
@code{strict-note-spacing} hace que el ancho de las indicaciones de
@noindent
Todas las dimensiones de disposición se muestran en espacios de
pentagrama, independientemenre de las unidades especificadas en los
-bloques @code{\paper} o @code{\layout}. Por ejemmplo,
+bloques @code{\paper} o @code{\layout}. Por ejemplo,
@code{paper-height} tiene un valor de 59.75 espacios de pentagrama,
usando el tamaño predeterminado de pentagrama de 20 puntos, que
equivale a 148 milímetros, la altura de una hoja de papel @code{a6} en
Evitar (o reducir en número) los objetos que aumentan el tamaño
vertical de un sistema. Por ejemplo, las repeticiones de primera y
segunda vez (o repeticiones con finales alternativos) necesitan
-espacio adicional. Si estas repeticiones se reparten a lo lardo de
+espacio adicional. Si estas repeticiones se reparten a lo largo de
dos sistemas, ocupan más espacio que un sistema con las casillas de
repetición y otro sistema sin ellas. Por ejemplo, las indicaciones
dinámicas que se @q{salen} de un sistema se pueden acercar al
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
+ Translation of GIT committish: bc4543c30c67f02dadc392880f27d4581e2d7681
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.64"
+@c \version "2.11.65"
@node Staff notation
@section Staff notation
@lilypond[verbatim,quote,relative=2]
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano"
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff { c1 c }
\new Staff { c1 c }
>>
{ 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
para todos los pentagramas siguientes.
@lilypond[verbatim,quote,ragged-right,relative=1]
-\set Staff.instrumentName = "Violin "
-\set Staff.shortInstrumentName = "Vln "
+\set Staff.instrumentName = #"Violin "
+\set Staff.shortInstrumentName = #"Vln "
c4.. g'16 c4.. g'16
\break
c1
@lilypond[verbatim,quote,indent=1.5\cm,relative=2]
<<
\new Staff {
- \set Staff.instrumentName = "Flute"
+ \set Staff.instrumentName = #"Flute"
f2 g4 f
}
\new Staff {
\relative c'' <<
\new Staff {
- \set Staff.instrumentName = "Alto Flute in G"
- \set Staff.shortInstrumentName = "Fl."
+ \set Staff.instrumentName = #"Alto Flute in G"
+ \set Staff.shortInstrumentName = #"Fl."
f2 g4 f \break
g4 f g2
}
\new Staff {
- \set Staff.instrumentName = "Clarinet"
- \set Staff.shortInstrumentName = "Clar."
+ \set Staff.instrumentName = #"Clarinet"
+ \set Staff.shortInstrumentName = #"Clar."
c,4 b c2 \break
c2 b4 c
}
Los nombres de instrumento se pueden cambiar en mitad de una pieza:
@lilypond[verbatim,quote,ragged-right,relative=1]
-\set Staff.instrumentName = "First"
-\set Staff.shortInstrumentName = "one"
+\set Staff.instrumentName = #"First"
+\set Staff.shortInstrumentName = #"one"
c1 c c c \break
c1 c c c \break
-\set Staff.instrumentName = "Second"
-\set Staff.shortInstrumentName = "two"
+\set Staff.instrumentName = #"Second"
+\set Staff.shortInstrumentName = #"two"
c1 c c c \break
c1 c c c \break
@end lilypond
(midiInstrument . "bassoon"))
\new Staff \with {
- instrumentName = "Bassoon"
+ instrumentName = #"Bassoon"
}
\relative c' {
\clef tenor
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
+ Translation of GIT committish: bc4543c30c67f02dadc392880f27d4581e2d7681
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@end lilypond
Observe que la sintaxis de @code{\tweak} no es igual que la de
-@code{\override}. Ni el contexto ni el objeto de
-presentación se deben especificar; de hecho, generaría un error
-hacerlo. Los dos están implícitos por el siguiente elemento del flujo
-de entrada. Así que la sintaxis genérica de la instrucción
-@code{\tweak} es, simplemente,
+@code{\override}. Ni el contexto ni el objeto de presentación se
+deben especificar; de hecho, generaría un error hacerlo. Los dos
+están implícitos por el siguiente elemento del flujo de entrada.
+Observe también que no debe haber un signo igual. Así que la sintaxis
+genérica de la instrucción @code{\tweak} es, simplemente,
@example
-\tweak #'@var{propiedad-de-presentación} = #@var{valor}
+\tweak #'@var{propiedad-de-presentación} #@var{valor}
@end example
Una instrucción @code{\tweak} también se puede usar para modificar
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main" }
+ alignAboveContext = #"main" }
{ f8 f c }
>>
r4 |
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main"
+ alignAboveContext = #"main"
}
{
\override Staff.Clef #'stencil = ##f
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main"
+ alignAboveContext = #"main"
% Don't print clefs in this staff
\override Clef #'stencil = ##f
% Don't print time signatures in this staff
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main"
+ alignAboveContext = #"main"
\override Clef #'stencil = ##f
\override TimeSignature #'stencil = ##f
% Reduce all font sizes by ~24%
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main"
+ alignAboveContext = #"main"
\override Clef #'stencil = ##f
\override TimeSignature #'stencil = ##f
fontSize = #-2
tediosas de escribir, y se tienen que escribir de forma absolutamente
correcta. Si las mismas sobreescrituras se van a utilizar muchas
veces, podría merecer la pena definir variables para guardarlas.
-Suponga que queremos realzar ciertas palabras de la letra de una
+
+Supongamos que queremos realzar ciertas palabras de la letra de una
canción imprimiéndolas en cursiva y negrita. Las instrucciones
@code{\italic} y @code{\bold} sólo funcionan dentro de la letra de las
-canciones si están incluidas dentro de un @code{\markup}, lo que las
-hace tediosas de escribir. ¿Podríamos, como alternativa, utilizar las
-instrucciones @code{\override} y @code{\revert}?
+canciones si están incluidas, junto con la palabra o palabras que se
+pretenden modificar, dentro de un @code{\markup}, lo que las hace
+tediosas de escribir. La necesidad de incluir las propias palabras
+impide que se puedan usar en variables simples. ¿Podríamos, como
+alternativa, utilizar las instrucciones @code{\override} y
+@code{\revert}?
@example
@code{\override Lyrics . LyricText #'font-shape = #'italic}
@end example
Estas instrucciones también serían extremadamente tediosas de escribir
-si hubiera muchas palabras que quisiéramos subrayar. Entonces, en vez
-de esto las definimos como dos variables, y las usamos de la siguiente
-forma, aunque normalmente quizá elegiríamos unos nombres de variable
+si hubiera muchas palabras que quisiéramos subrayar. Pero sí
+@emph{podemos} definirlas como dos variables y usarlas para delimitar
+las palabras que destacar. Otra ventaja de la utilización de
+variables para estas sobreescrituras es que ya no son necesarios los
+espacios que rodean al punto, puesto que no se interpretan
+directamente en el modo @code{\lyricmode}. He aquí un ejemplo de
+esto, aunque en la práctica quizá elegiríamos unos nombres de variable
más cortos para que fueran más rápidos de teclear:
@cindex LyricText, ejemplo de sobreescritura
@lilypond[quote,verbatim]
emphasize = {
- \override Lyrics . LyricText #'font-shape = #'italic
- \override Lyrics . LyricText #'font-series = #'bold
+ \override Lyrics.LyricText #'font-shape = #'italic
+ \override Lyrics.LyricText #'font-series = #'bold
}
normal = {
- \revert Lyrics . LyricText #'font-shape
- \revert Lyrics . LyricText #'font-series
+ \revert Lyrics.LyricText #'font-shape
+ \revert Lyrics.LyricText #'font-series
}
global = { \time 4/4 \partial 4 \key c \major}
@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: bc4543c30c67f02dadc392880f27d4581e2d7681
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 Vocal music
\new Voice {
\time 3/4 g2 e4 a2 f4 g2.
} \addlyrics {
- \set stanza = "1. "
+ \set stanza = #"1. "
Hi, my name is Bert.
} \addlyrics {
- \set stanza = "2. "
+ \set stanza = #"2. "
Oh, ché -- ri, je t'aime
}
@end lilypond
\new Voice {
\time 3/4 g2 e4 a2 f4 g2.
} \addlyrics {
- \set vocalName = "Bert "
+ \set vocalName = #"Bert "
Hi, my name is Bert.
} \addlyrics {
- \set vocalName = "Ernie "
+ \set vocalName = #"Ernie "
Oh, ché -- ri, je t'aime
}
@end lilypond
}
text = \lyricmode {
-\set stanza = "1." Ma- ry had a lit- tle lamb,
+\set stanza = #"1." Ma- ry had a lit- tle lamb,
its fleece was white as snow.
}
}
text = \lyricmode {
- \set stanza = "1." This is verse one.
+ \set stanza = #"1." This is verse one.
It has two lines.
}
- <p><i>Dernière mise à jour Tue Dec 9 09:40:49 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
<td></td>
<td><span style="background-color: #1fff1f">oui</span></td>
<td><span style="background-color: #33ff21">partiellement</span></td>
- <td>pré-GDP</td>
+ <td>post-GDP</td>
</tr>
<tr align="left">
<td>Préface<br>(411)</td>
Jean-Charles Malahieude</td>
<td>John Mandereau</td>
<td><span style="background-color: #1fff1f">oui</span></td>
- <td><span style="background-color: #47ff24">partiellement</span></td>
- <td>pré-GDP</td>
+ <td><span style="background-color: #4efe25">partiellement</span></td>
+ <td>post-GDP</td>
</tr>
<tr align="left">
- <td>4 Retouche de partition<br>(14581)</td>
+ <td>4 Retouche de partition<br>(14647)</td>
<td>Valentin Villenave<br>
Nicolas Klutchnikoff<br>
Damien Heurtebise</td>
John Mandereau</td>
<td><span style="background-color: #1fff1f">oui</span></td>
<td><span style="background-color: #1fff1f">oui</span></td>
- <td>pré-GDP</td>
+ <td>post-GDP</td>
</tr>
<tr align="left">
<td>5 Travail sur des projets LilyPond<br>(3007)</td>
</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>pré-GDP</td>
</tr>
<tr align="left">
- <td>4 @command{lilypond-book} : association musique-texte<br>(3185)</td>
+ <td>4 @command{lilypond-book} : association musique-texte<br>(3248)</td>
<td></td>
<td></td>
<td><span style="background-color: #d0f0f8">non</span></td>
<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>1.1 Hauteurs<br>(3086)</td>
+ <td>1.1 Hauteurs<br>(3123)</td>
<td>Frédéric Chiasson</td>
<td>Valentin Villenave<br>
Jean-Charles Malahieude</td>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>1.7 Notation éditoriale<br>(906)</td>
+ <td>1.7 Notation éditoriale<br>(895)</td>
<td>Jean-Charles Malahieude</td>
<td></td>
<td><span style="background-color: #1fff1f">oui</span></td>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>2.2 Instruments utilisant des portées multiples<br>(725)</td>
+ <td>2.2 Instruments utilisant des portées multiples<br>(744)</td>
<td>Valentin Villenave</td>
<td>Jean-Charles Malahieude<br>
John Mandereau</td>
- <td><span style="background-color: #dfef77">partiellement (89 %)</span></td>
- <td><span style="background-color: #ff6d58">partiellement</span></td>
+ <td><span style="background-color: #1fff1f">oui</span></td>
+ <td><span style="background-color: #1fff1f">oui</span></td>
<td>pré-GDP</td>
</tr>
<tr align="left">
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>2.4 Instruments à cordes frettées<br>(1759)</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>(1333)</td>
+ <td>2.7 Notation des accords<br>(1464)</td>
<td>Valentin Villenave</td>
<td>Jean-Charles Malahieude<br>
John Mandereau</td>
- <td><span style="background-color: #dfef77">partiellement (64 %)</span></td>
+ <td><span style="background-color: #dfef77">partiellement (61 %)</span></td>
<td><span style="background-color: #ff6f57">partiellement</span></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>pré-GDP</td>
</tr>
<tr align="left">
- <td>4 Gestion de l'espace<br>(8444)</td>
+ <td>4 Gestion de l'espace<br>(8451)</td>
<td>Frédéric Chiasson<br>
Jean-Charles Malahieude</td>
<td></td>
<td><span style="background-color: #dfef77">partiellement (19 %)</span></td>
- <td><span style="background-color: #fff73e">partiellement</span></td>
+ <td><span style="background-color: #fff53e">partiellement</span></td>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>5 Modification des réglages prédéfinis<br>(11291)</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: #ff974f">partiellement</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">
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>B Tables du manuel de notation<br>(1155)</td>
+ <td>B Tables du manuel de notation<br>(1190)</td>
<td>Frédéric Chiasson<br>
Jean-Charles Malahieude</td>
<td></td>
<td><span style="background-color: #dfef77">partiellement (7 %)</span></td>
- <td><span style="background-color: #e8fe39">partiellement</span></td>
+ <td><span style="background-color: #efff3a">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}.
\relative c' \new Staff = "main" {
c4 c c c
<<
- \new Staff \with {alignAboveContext=main} \ossia
+ \new Staff \with { alignAboveContext = #"main" } \ossia
{ d8 f d f d f d f }
>>
}
@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
version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.11.61"
+@c \version "2.11.65"
@c Translators: Valentin Villenave, Jean-Charles Malahieude
@c Translation checkers: John Mandereau
+@c Translation status: post-GDP
@node Fundamental concepts
@chapter Fundamental concepts
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main" }
+ alignAboveContext = #"main" }
{ f8 f c }
>>
r4 |
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" { \global \sopranoMusic }
>>
\new Lyrics \lyricsto "sopranos" { \sopranoWords }
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" { \global \altoMusic }
>>
\new Lyrics \lyricsto "altos" { \altoWords }
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" { \global \tenorMusic }
>>
\new Lyrics \lyricsto "tenors" { \tenorWords }
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" { \global \bassMusic }
>>
\new Lyrics \lyricsto "basses" { \bassWords }
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano"
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
@example
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" @{ \global \sopranoMusique @}
>>
\new Lyrics \lyricsto "sopranos" @{ \sopranoParoles @}
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" @{ \global \altoMusique @}
>>
\new Lyrics \lyricsto "altos" @{ \altoParoles @}
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" @{ \global \tenorMusique @}
>>
\new Lyrics \lyricsto "tenors" @{ \tenorParoless @}
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" @{ \global \basseMusique @}
>>
\new Lyrics \lyricsto "basses" @{ \basseParoles @}
@example
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano "
+ \set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" \superieur
\new Staff = "lower" \inferieur
>>
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano"
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff = "upper" \superieur
\new Staff = "lower" \inferieur
>>
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" { \global \sopranoMusic }
>>
\new Lyrics \lyricsto "sopranos" { \sopranoWords }
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" { \global \altoMusic }
>>
\new Lyrics \lyricsto "altos" { \altoWords }
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" { \global \tenorMusic }
>>
\new Lyrics \lyricsto "tenors" { \tenorWords }
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" { \global \bassMusic }
>>
\new Lyrics \lyricsto "basses" { \bassWords }
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano "
+ \set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: bdf8540b74167817eab96ed3d13b35477217f9fe
+ Translation of GIT committish: 89af568420c7a794cc29980b4f8fabe10764c152
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@node Keyboard and other multi-staff instruments
@section Keyboard and other multi-staff instruments
+@lilypondfile[quote]{keyboard-headword.ly}
+
+Ce chapitre traite des différents aspects de la notation que l'on
+rencontre particulièrement avec les instruments qui ont recours à
+plusieurs portées, tels que ceux disposant de claviers, la harpe ou
+le vibraphone. Pour les besoins du discours, et pour simplifier, nous
+parlerons ici de @qq{clavier} bien que le recours à des portées multiples
+concerne aussi des instruments qui en sont dépourvus.
+
@menu
* Common notation for keyboards::
* Piano::
@node Common notation for keyboards
@subsection Common notation for keyboards
+Nous allons examiner ici les problèmes qui peuvent survenir en matière
+de notation pour la plupart des instrument à cordes multiples.
+
@menu
* References for keyboards::
* Changing staff manually::
@node References for keyboards
@unnumberedsubsubsec References for keyboards
-@untranslated
-@ifnothtml
-@englishref
-@end ifnothtml
+@c untranslated
+@c ifnothtml
+@c englishref
+@c end ifnothtml
+@cindex piano, système pour
+@cindex portées pour piano
+@cindex portées pour instrument à clavier
+@cindex portées pour instrument à clés
+@cindex clavier, portées pour instrument à
+@cindex clés, portées pour instrument à
+
+@funindex PianoStaff
+
+La notation pour instrument à clavier est en règle générale présentée
+sous la forme d'un système pour piano, autrement dit deux portées
+normales ou plus réunies par une accolade. Cette notation sert également
+à la harpe ou à d'autres instruments à clés. L'organiste, quant à lui,
+lira une partition composée de deux portées au sein d'un système
+pianistique auquel vient s'adjoindre une portée normale pour le pédalier.
+
+Les portées sont largement autonomes, mais il arrive que des voix
+passent de l'une à l'autre. Le contexte @code{PianoStaff} est
+précisément conçu pour gérer la notation spécifique au piano et autres
+instruments à clavier, notamment ces croisements.
+
+Certaines particularités de la notation pour claviers sont abordées dans
+d'autres chapitres :
+
+@itemize
+
+@item Les claviers ont régulièrement recours à plusieurs voix dont le
+nombre peut varier. voir à ce sujet @ref{Collision resolution}.
+
+@item On peut écrire la musique pour claviers de façon parallèle, comme
+l'explique @ref{Writing music in parallel}.
+
+@item Les indications de doigté sont abrodées dans
+@ref{Fingering instructions}.
+
+@item Les indications en matière de pédalier d'orgue sont traitées comme
+des articulations. Voir à ce sujet @ref{List of articulations}.
+
+@item Pour générer des repères verticaux, voir @ref{Grid lines}.
+
+@item En plus des @notation{Laissez vibrer}, les liaisons en matière de
+clavier peuvent intervenir sur des accords arpégés ou des trémolos.
+Reportez-vous au chapitre @ref{Ties}.
+
+@item Le traitement des arpèges couvrant plusieurs voix ou portées est
+abordé au chapitre @ref{Arpeggio}.
+
+@item Une description des indications de tremolo est disponible au
+chapitre @ref{Tremolo repeats}.
+
+@item Certaines retouches particulières au monde des claviers sont
+abordées au chapitre @rlearning{Real music example}.
+
+@item Des notes fantômes permettent d'introduire des liaisons de tenue
+qui passent d'une voix à l'autre, comme le montre
+@rlearning{Other uses for tweaks}.
+
+@end itemize
+
+
+@seealso
+Manuel d'initiation :
+@rlearning{Real music example},
+@rlearning{Other uses for tweaks}.
+
+Manuel de notation :
+@ref{Grouping staves},
+@ref{Instrument names},
+@ref{Collision resolution},
+@ref{Writing music in parallel},
+@ref{Fingering instructions},
+@ref{List of articulations},
+@ref{Grid lines},
+@ref{Ties},
+@ref{Arpeggio},
+@ref{Tremolo repeats}.
+
+Référence des propriétés internes :
+@rinternals{PianoStaff}.
+
+Exemples de code :
+@rlsr{Keyboards}.
+
-Les systèmes de piano comprennent deux portées réunies par une accolade.
-Les portées sont largement autonomes, mais il arrive que des voix passent
-de l'une à l'autre. Cette notation sert également à la harpe ou à d'autres
-instruments à clavier. Le contexte @code{PianoStaff} est précisément
-conçu pour gérer la notation spécifique au piano, notamment ces croisements.
@knownissues
-Les nuances ne sont pas centrées verticalement, mais il existe
-des astuces. Voir à ce sujet le modèle @q{alignement des nuances au
-piano} au chapitre @rlearning{Piano templates}.
+@cindex claviers, centrage des nuances
+@cindex nuances entre les portées d'un système pianistique
+@cindex piano, nuances entre les portées
+@cindex centrage des nuances entre deux portées de piano
+@funindex staff-padding
+
+Les nuances ne sont pas automatiquement centrées verticalement, mais il
+existe des astuces. Voir à ce sujet le modèle @qq{alignement des
+nuances au piano} au chapitre @rlearning{Piano templates} ; une autre
+solution consiste à augmenter le décalage des nuances par rapport à la
+portée (@code{staff-pagging}) comme l'indique
+@rlearning{Moving objects}.
@node Changing staff manually
@unnumberedsubsubsec Changing staff manually
-@cindex changements de portées manuels
-@cindex changement de portée, manuel
+@cindex changements de portée manuels
+@cindex changement de portée forcé
+@cindex inter-portée, notes
+@cindex notes inter-portée
+@cindex inter-portée, ligatures
+@cindex ligature inter-portée
+
+@funindex \change
+@funindex change
Il est possible de passer d'une portée à l'autre de façon manuelle, au
moyen de la commande
@example
-\change Staff = @var{nomDeLaPortee} @var{musique}
+\change Staff = @var{nomDeLaPortee}
@end example
@noindent
La valeur @var{nomDeLaPortee} est le nom de la portée sur laquelle va se
déplacer la voix courante. Pour des raisons pratiques, on nomme la portée
supérieure @code{"haut"} et la portée inférieure @code{"bas"}, donc
-@var{nomDeLaPortee} désigne habituellement @code{"haut"} ou
-@code{"bas"}. Dans tous les cas, le contexte de portée ainsi utilisé
-doit exister au préalable. C'est pourquoi il est d'usage de commencer
-par définir les portées
+@var{nomDeLaPortee} désigne habituellement @code{"haut"}, @code{"bas"},
+@code{"MD"} ou @code{"MG"}. Dans tous les cas, le contexte de
+portée ainsi utilisé doit exister au préalable.
-@example
-<<
- \new Staff = "haut" @{
- \skip 1 * 10 % @emph{de façon à prolonger la portée}
- @}
- \new Staff = "bas" @{
- \skip 1 * 10 % @emph{idem}
- @}
+Pour ligaturer automatiquement des notes entre deux portées, procédez
+ainsi :
+
+@lilypond[verbatim,quote]
+\new PianoStaff <<
+ \new Staff = "up" {
+ <e' c'>8
+ \change Staff = "down"
+ g8 fis g
+ \change Staff = "up"
+ <g'' c''>8
+ \change Staff = "down"
+ e8 dis e
+ \change Staff = "up"
+ }
+ \new Staff = "down" {
+ \clef bass
+ % keep staff alive
+ s1
+ }
>>
-@end example
+@end lilypond
+Si les ligatures demandaient à être retouchées, commencez par
+modifier la direction des hampes. L'emplacement des ligatures sera
+alors calculé à partir du centre de la portée la plus proche -- voir
+@rlearning{Fixing overlapping notation} pour un exemple de retouche sur
+des ligatures.
-avant d'insérer une mélodie au moyen d'un contexte @code{Voice} :
-@example
-\context Staff = bas
- \new Voice @{ @dots{} \change Staff = haut @dots{} @}
-@end example
+@seealso
+Manuel d'initiation :
+@rlearning{Fixing overlapping notation}.
+
+Manuel de notation :
+@ref{Stems},
+@ref{Automatic beams}.
+
+Exemples de code :
+@rlsr{Keyboards}.
+
+Référence des propriétés internes :
+@rinternals{Beam},
+@rinternals{ContextChange}.
@node Changing staff automatically
@unnumberedsubsubsec Changing staff automatically
+
@cindex Changement de portée automatique
@cindex Automatique, changement de portée
+@funindex \autochange
+@funindex autochange
+@funindex PianoStaff
+
Les voix peuvent passer automatiquement d'une portée à l'autre, au moyen
de la syntaxe suivante :
-@quotation
@example
\autochange @dots{}@var{musique}@dots{}
@end example
-@end quotation
@noindent
Deux portées seront alors créées au sein du contexte @code{PianoStaff},
-nommées respectivement @code{up} et @code{down}. La portée du bas, par
-défaut, sera en clé de fa.
-
-Une section en mode @code{\relative} se situant en dehors de la commande
-@code{\autochange} n'aura pas d'effet sur les hauteurs de l'expression
-@var{musique} ; si on utilise @code{\relative}, il est donc préférable
-de mettre @code{\relative} @emph{après} @code{\autochange} et non avant :
+nommées respectivement @code{"up"} et @code{"down"}. La portée du bas
+sera par défaut en clé de fa. La commande @code{\autochange} bascule
+les notes d'une portée à l'autre en fonction de leur hauteur (le do du
+milieu servant de pivot), et place les silences en fonction des notes
+qui les suivront. Ainsi :
+
+@lilypond[quote,verbatim]
+\new PianoStaff {
+ \autochange {
+ g4 a b c'
+ d'4 r a g
+ }
+}
+@end lilypond
-@quotation
-@example
-\autochange \relative @dots{} @dots{}
-@end example
-@end quotation
+@cindex mode relatif et autochange
+@cindex autochange et mode relatif
-La commande @code{\autochange} bascule les notes d'une portée à l'autre
-en fonction de leur hauteur (le do du milieu servant de charnière), et
-place les silences en fonction des notes qui les suivront. Ainsi :
+@funindex \relative
+@funindex relative
-@lilypond[quote,verbatim,ragged-right]
-\new PianoStaff
- \autochange \relative c'
- {
- g4 a b c d r4 a g
+Une section en mode @code{\relative} se situant en dehors de la commande
+@code{\autochange} n'aura pas d'effet sur les hauteurs de l'expression
+@var{musique}. Il est donc préférable d'introduire la directive
+@code{\relative} @strong{après} @code{\autochange}.
+
+Lorsque des contrôles particuliers doivent s'appliquer aux portées,
+mieux vaut les nommer explicitement -- attention : sous peine
+d'effet indésirable quant au résultat, la portée supérieure doit
+s'appeler @code{"up"} et l'inférieure @code{"down"} ; @emph{ceci est à
+notre connaissance le seul cas où ces noms de variable sont figés}.
+Cette procédure sert, entre autres, à indiquer l'armure sur la portée
+inférieure :
+
+@c Keep Ly needed, otherwise 'up' and 'down' get
+@c incorrectly translated in verbatim output
+@c KEEP LY
+@lilypond[quote,verbatim,nogettext]
+\new PianoStaff <<
+ \new Staff = "up" {
+ \new Voice = "melodieUn" {
+ \key g \major
+ \autochange \relative c' {
+ g8 b a c b d c e
+ d8 r fis, g a2
+ }
+ }
+ }
+ \new Staff = "down" {
+ \key g \major
+ \clef bass
}
+>>
@end lilypond
@seealso
-Dans ce même manuel : @ref{Changing staff manually}.
+Dans ce même manuel :
+@ref{Changing staff manually}.
+
+Exemples de code :
+@rlsr{Keyboards}.
-Référence du programme : @rinternals{AutoChangeMusic}.
+Référence des propriétés internes :
+@rinternals{AutoChangeMusic}.
@knownissues
+@cindex accords, répartition sur plusieurs portées avec \autochange
+
Les changements de portée automatiques n'interviennent pas toujours à
l'endroit le plus opportun. Pour un résultat de meilleure qualité, il
vaut mieux indiquer soi-même ces changements.
+Un accord ne peut se répartir sur plusieurs portées ; sa portée
+d'affectation sera déterminée par la première hauteur mentionnée dans la
+construction de cet accord.
+
@code{\autochange} ne peut intervenir à l'intérieur d'une commande
@code{\times}.
@cindex mélodie d'une portée à une autre
@funindex followVoice
+@funindex \showStaffSwitch
+@funindex showStaffSwitch
+@funindex \hideStaffSwitch
+@funindex hideStaffSwitch
Lorsqu'une voix change de portée, il est possible d'imprimer
-automatiquement une ligne reliant les notes, en attribuant à la variable
-@code{followVoice} la valeur @emph{vrai} :
+automatiquement une ligne reliant les notes, en faisant appel à la
+commande @code{\showStaffSwitch} :
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
+@lilypond[quote,verbatim,relative=1]
\new PianoStaff <<
- \new Staff="one" {
- \set followVoice = ##t
+ \new Staff = "one" {
+ \showStaffSwitch
c1
- \change Staff=two
+ \change Staff = "two"
b2 a
}
- \new Staff="two" { \clef bass \skip 1*2 }
+ \new Staff = "two" {
+ \clef bass
+ s1*2
+ }
>>
@end lilypond
-@seealso
-Référence du programme : @rinternals{VoiceFollower}.
-
-
@predefined
-@funindex \showStaffSwitch
@code{\showStaffSwitch},
-@funindex \hideStaffSwitch
@code{\hideStaffSwitch}.
@endpredefined
+@seealso
+Extraits de code :
+@rlsr{Keyboards}.
+
+Référence des propriétés internes :
+@rinternals{Note_head_line_engraver},
+@rinternals{VoiceFollower}.
+
+
@node Cross-staff stems
@unnumberedsubsubsec Cross-staff stems
@cindex hampe, enjambement portées
@cindex distance entre deux portées de piano
+@funindex Stem
+@funindex cross-staff
+@funindex length
+@funindex flag-style
+
Pour écrire des accords qui enjambent deux portées, on allonge la hampe
de l'accord de l'une des deux portées de façon à ce qu'elle rejoigne celle de
l'autre portée.
-@lilypond[ragged-right,verbatim,quote]
-stemExtend = {
- \once \override Stem #'length = #10
- \once \override Stem #'cross-staff = ##t
-}
-noFlag = \once \override Stem #'flag-style = #'no-flag
+@lilypond[verbatim,quote]
\new PianoStaff <<
\new Staff {
- \stemDown \stemExtend
- f'4
- \stemExtend \noFlag
- f'8
+ \relative c' {
+ f8 e4 d8 d f e4
+ }
}
\new Staff {
- \clef bass
- a4 a8
+ \relative c' {
+ << {
+ \clef bass
+ % stems may overlap the other staff
+ \override Stem #'cross-staff = ##t
+ % extend the stems to reach other other staff
+ \override Stem #'length = #12
+ % do not print extra flags
+ \override Stem #'flag-style = #'no-flag
+ % prevent beaming as needed
+ a8 g4 f8 f bes\noBeam g4
+ }
+ \\
+ {
+ f,2 bes4 c
+ } >>
+ }
}
>>
@end lilypond
+@snippets
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{indicating-cross-staff-chords-with-arpeggio-bracket.ly}
+
+
+@seealso
+Extraits de code :
+@rlsr{Keyboards}.
+
+Référence des propriétés internes :
+@rinternals{Stem}.
+
@node Piano
@subsection Piano
+Ce chapitre traîte des aspects de la notation directement liés au piano.
+
@menu
* Piano pedals::
@end menu
@node Piano pedals
@unnumberedsubsubsec Piano pedals
-@cindex Pédales
-Le piano possède deux pédales, parfois trois, permettant de modifier
-l'émission du son. Il est possible d'indiquer précisément chacune
-d'entre elles, en ajoutant à une note ou un accord les commandes
-suivantes :
-@multitable {enfoncerr} {pédale de tenuee} {pédale una cordaa} {\sostenutoOnnnn}
-@item @tab pédale de tenue @tab pédale @emph{una corda} @tab pédale tonale
-@item enfoncer @tab @code{\sustainOn} @tab @code{\unaCorda} @tab @code{\sostenutoOn}
-@item relâcher @tab @code{\sustainOff} @tab @code{\treCorde} @tab @code{\sostenutoOff}
-@end multitable
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-c'4\sustainOn c'4\sustainOff
-@end lilypond
-
-Les modalités d'impression de ces indications sont définies par la
-propriété @code{pedal@var{X}Strings}, @var{X} étant l'une des trois
-pédales @code{Sustain}, @code{Sostenuto} ou @code{UnaCorda}. Voyez
-la référence du programme, section @rinternals{SustainPedal}, pour en
-savoir plus.
+@cindex piano et pédales
+@cindex pédales de piano
+@cindex sustain, pédale
+@cindex pédale sustain
+@cindex sostenuto, pédale
+@cindex pédale sostenuto
+@cindex una corda
+@cindex tre corde
+@cindex sos.
+@cindex U.C.
+
+@funindex \sustainOn
+@funindex sustainOn
+@funindex \sustainOff
+@funindex sustainOff
+@funindex \sostenutoOn
+@funindex sostenutoOn
+@funindex \sostenutoOff
+@funindex sostenutoOff
+@funindex \unaCorda
+@funindex unaCorda
+@funindex \treCorde
+@funindex treCorde
-La propriété @code{pedalSustainStyle} permet différentes notations de
-pédale, en utilisant des crochets
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\set Staff.pedalSustainStyle = #'bracket
-c\sustainOn d e
-b\sustainOff\sustainOn
-b g \sustainOff a \sustainOn \bar "|."
+Le piano possède deux pédales, parfois trois, permettant de modifier
+l'émission du son : une pédale de @notation{tenue} (@emph{sustain}),
+une pédale de @notation{sourdine} (@emph{una corda} ou @emph{U.C.}) et
+une pédale @notation{tonale} (@emph{sostenuto} ou @emph{sos.}). La
+pédale @emph{sustain} se rencontre aussi sur les vibraphones et
+celestas.
+
+@lilypond[quote,verbatim,relative=2]
+c4\sustainOn d e g
+<c, f a>1\sustainOff
+c4\sostenutoOn e g c,
+<bes d f>1\sostenutoOff
+c4\unaCorda d e g
+<d fis a>1\treCorde
@end lilypond
-@noindent
-ou en mélangeant indications textuelles et crochets
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+@cindex pédale, styles d'indications de
+@cindex pédale, indication textuelle de
+@cindex pédale, indication graphique de
+@cindex pédale, indication combinée de
+@cindex pédale sustain, style
+@cindex sustain, style de pédale
+
+@funindex pedalSustainStyle
+@funindex mixed
+@funindex bracket
+@funindex text
+
+Trois styles sont à votre disposition pour imprimer les indications de
+pédale : sous forme de texte, de crochet, ou une combinaison des deux.
+@code{text} est le style de notation par défaut pour les pédales de
+tenue ou de sourdine --- le traditionnel @q{*Ped.}. La pédale tonale,
+en revanche, utilise @code{mixed} par défaut.
+
+@lilypond[quote,verbatim,relative=2]
+c4\sustainOn g c2\sustainOff
\set Staff.pedalSustainStyle = #'mixed
-c\sustainOn d e
-b\sustainOff\sustainOn
-b g \sustainOff a \sustainOn \bar "|."
-@end lilypond
-
-@code{text} est le style de notation par défaut pour la pédale de
-tenue --- le traditionnel @q{*Ped.}. La pédale tonale, en revanche,
-utilise @code{mixed} par défaut.
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-c\sostenutoOn d e c, f g a\sostenutoOff
+c4\sustainOn g c d
+d\sustainOff\sustainOn g, c2\sustainOff
+\set Staff.pedalSustainStyle = #'bracket
+c4\sustainOn g c d
+d\sustainOff\sustainOn g, c2
+\bar "|."
@end lilypond
-Il est possible de d'affiner l'apparence d'un crochet de pédale, au
-moyen des propriétés @code{edge-width}, @code{edge-height}, et
-@code{shorten-pair}, appliquées aux objets @code{PianoPedalBracket} ---
-voir la référence du programme, section
-@rinternals{PianoPedalBracket}. Par exemple, on peut étirer le crochet
-jusqu'à l'extrémité droite de la dernière note :
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\override Staff.PianoPedalBracket #'shorten-pair = #'(0 . -1.0)
-c\sostenutoOn d e c, f g a\sostenutoOff
-@end lilypond
+Le placement des commandes de pédale correspond au mouvement de la
+pédale de tenue pendant le jeu. Garder une pédale enclanchée jusqu'à la
+barre finale s'obtient tout simplement en omettant la commande de
+relacher.
@seealso
-Dans ce manuel : @ref{Ties} @qq{laissez vibrer}.
+Manuel de notation :
+@ref{Ties}.
+
+Extraits de code :
+@rlsr{Keyboards}.
+
+Référence des propriétés internes :
+@rinternals{SustainPedal},
+@rinternals{SustainPedalLineSpanner},
+@rinternals{SustainEvent},
+@rinternals{SostenutoPedal},
+@rinternals{SostenutoPedalLineSpanner},
+@rinternals{SostenutoEvent},
+@rinternals{UnaCordaPedal},
+@rinternals{UnaCordaPedalLineSpanner},
+@rinternals{UnaCordaEvent},
+@rinternals{PianoPedalBracket},
+@rinternals{Piano_pedal_engraver}.
@node Accordion
@end ignore
@c Translators: John Mandereau, Jean-Charles Malahieude
+@c Translation status: post-GDP
@ifnottex
@node Top
@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 --
version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.11.61"
+@c \version "2.11.65"
@c Translators: Valentin Villenave, Jean-Charles Malahieude
@c Translation checkers: John Mandereau
@code{shortInstrumentName}.
@lilypond[quote,verbatim,ragged-right,relative=1,fragment]
-\set Staff.instrumentName = "Ploink "
-\set Staff.shortInstrumentName = "Plk "
+\set Staff.instrumentName = #"Ploink "
+\set Staff.shortInstrumentName = #"Plk "
c1
\break
c''
Vous pouvez changer d'instrument en cours de morceau :
@lilypond[quote,fragment,verbatim,ragged-right]
-\set Staff.instrumentName = "First"
-\set Staff.shortInstrumentName = "one"
+\set Staff.instrumentName = #"First"
+\set Staff.shortInstrumentName = #"one"
c1 c c c \break
c1 c c c \break
-\set Staff.instrumentName = "Second"
-\set Staff.shortInstrumentName = "two"
+\set Staff.instrumentName = #"Second"
+\set Staff.shortInstrumentName = #"two"
c1 c c c \break
c1 c c c \break
@end lilypond
version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.11.61"
+@c \version "2.11.65"
@c Translators: Valentin Villenave, Nicolas Klutchnikoff, Damien Heurtebise
@c Translation checkers: Jean-Charles Malahieude, John Mandereau
+@c Translation status: post-GDP
@node Tweaking output
@chapter Tweaking output
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main" }
+ alignAboveContext = #"main" }
{ f8 f c }
>>
r4 |
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main"
+ alignAboveContext = #"main"
}
{
\override Staff.Clef #'stencil = ##f
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main"
+ alignAboveContext = #"main"
% Don't print clefs in this staff
\override Clef #'stencil = ##f
% Don't print time signatures in this staff
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main"
+ alignAboveContext = #"main"
\override Clef #'stencil = ##f
\override TimeSignature #'stencil = ##f
% Reduce all font sizes by ~24%
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main"
+ alignAboveContext = #"main"
\override Clef #'stencil = ##f
\override TimeSignature #'stencil = ##f
fontSize = #-2
version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.11.61"
+@c \version "2.11.65"
@c Translators: Valentin Villenave
@c Translation checkers: Jean-Charles Malahieude
\new Voice {
\time 3/4 g2 e4 a2 f4 g2.
} \addlyrics {
- \set stanza = "1. "
+ \set stanza = #"1. "
Hi, my name is Bert.
} \addlyrics {
- \set stanza = "2. "
+ \set stanza = #"2. "
Oh, ché -- ri, je t'aime
}
@end lilypond
\new Voice {
\time 3/4 g2 e4 a2 f4 g2.
} \addlyrics {
- \set vocalName = "Bert "
+ \set vocalName = #"Bert "
Hi, my name is Bert.
} \addlyrics {
- \set vocalName = "Ernie "
+ \set vocalName = #"Ernie "
Oh, ché -- ri, je t'aime
}
@end lilypond
}
text = \lyricmode {
-\set stanza = "1." Ma- ry had a lit- tle lamb,
+\set stanza = #"1." Ma- ry had a lit- tle lamb,
its fleece was white as snow.
}
}
text = \lyricmode {
- \set stanza = "1." This is verse one.
+ \set stanza = #"1." This is verse one.
It has two lines.
}
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-07 23:30+0100\n"
-"PO-Revision-Date: 2008-12-08 21:36+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"
#. Documentation/user/tutorial.itely:1791 (variable)
#. Documentation/user/working.itely:214 (variable)
#. Documentation/user/working.itely:229 (variable)
-#. Documentation/user/pitches.itely:1035 (context id)
+#. Documentation/user/pitches.itely:1078 (context id)
msgid "violin"
msgstr "Geige"
#. @rglos in Documentation/es/user/chords.itely
#. @rglos in Documentation/de/user/tutorial.itely
#. @rglos in Documentation/de/user/simultaneous.itely
+#. @rglos in Documentation/de/user/chords.itely
msgid "chord"
msgstr "Akkord"
#. Documentation/user/vocal.itely:506 (context id)
#. Documentation/user/vocal.itely:1235 (context id)
#. Documentation/user/vocal.itely:1276 (context id)
-#. Documentation/user/keyboards.itely:329 (context id)
+#. Documentation/user/keyboards.itely:338 (context id)
#. Documentation/user/fretted-strings.itely:243 (context id)
#. input/lsr/adding-fingerings-to-tablatures.ly:16 (variable)
#. input/lsr/jazz-combo-template.ly:204 (context id)
#. Documentation/user/fundamental.itely:1242 (variable)
#. Documentation/user/fundamental.itely:2646 (variable)
-#. Documentation/user/tweaks.itely:3469 (variable)
+#. Documentation/user/tweaks.itely:3475 (variable)
#. Documentation/user/simultaneous.itely:788 (variable)
#. Documentation/user/percussion.itely:497 (variable)
#. input/lsr/ancient-notation-template----modern-transcription-of-mensural-music.ly:46 (variable)
msgstr "SoprNoten"
#. Documentation/user/fundamental.itely:1298 (variable)
-#. Documentation/user/tweaks.itely:3471 (variable)
+#. Documentation/user/tweaks.itely:3477 (variable)
msgid "AltoMusic"
msgstr "AltNoten"
#. Documentation/user/fundamental.itely:1299 (variable)
-#. Documentation/user/tweaks.itely:3472 (variable)
+#. Documentation/user/tweaks.itely:3478 (variable)
msgid "TenorMusic"
msgstr "TenorNoten"
#. Documentation/user/fundamental.itely:1300 (variable)
-#. Documentation/user/tweaks.itely:3473 (variable)
+#. Documentation/user/tweaks.itely:3479 (variable)
msgid "BassMusic"
msgstr "BassNoten"
#. Documentation/user/fundamental.itely:1301 (variable)
-#. Documentation/user/tweaks.itely:3474 (variable)
+#. Documentation/user/tweaks.itely:3480 (variable)
msgid "VerseOne"
msgstr "StropheEins"
#. Documentation/user/fundamental.itely:1303 (variable)
-#. Documentation/user/tweaks.itely:3475 (variable)
+#. Documentation/user/tweaks.itely:3481 (variable)
msgid "VerseTwo"
msgstr "StropheZwei"
#. Documentation/user/fundamental.itely:1305 (variable)
-#. Documentation/user/tweaks.itely:3476 (variable)
+#. Documentation/user/tweaks.itely:3482 (variable)
msgid "VerseThree"
msgstr "StropheDrei"
#. Documentation/user/fundamental.itely:1307 (variable)
-#. Documentation/user/tweaks.itely:3477 (variable)
+#. Documentation/user/tweaks.itely:3483 (variable)
msgid "VerseFour"
msgstr "StropheVier"
msgstr "Sopr"
#. Documentation/user/fundamental.itely:1315 (context id)
-#. Documentation/user/tweaks.itely:3484 (context id)
+#. Documentation/user/tweaks.itely:3490 (context id)
#. Documentation/user/input.itely:951 (context id)
msgid "Alto"
msgstr "Alt"
#. Documentation/user/fundamental.itely:1323 (context id)
-#. Documentation/user/tweaks.itely:3492 (context id)
+#. Documentation/user/tweaks.itely:3498 (context id)
#. Documentation/user/input.itely:953 (context id)
msgid "Tenor"
msgstr "Tenor"
#. Documentation/user/fundamental.itely:1324 (context id)
-#. Documentation/user/tweaks.itely:3493 (context id)
+#. Documentation/user/tweaks.itely:3499 (context id)
#. Documentation/user/input.itely:958 (context id)
#. input/lsr/jazz-combo-template.ly:227 (variable)
msgid "Bass"
msgid "Building a score from scratch"
msgstr "Eine Partitur von Grund auf erstellen"
-#. Documentation/user/tweaks.itely:596 (comment)
-#. Documentation/user/tweaks.itely:731 (comment)
+#. Documentation/user/tweaks.itely:597 (comment)
+#. Documentation/user/tweaks.itely:732 (comment)
msgid "Increase thickness of all following slurs from 1.2 to 5.0"
msgstr "Dicke aller folgenden Bögen von 1.2 zu 5.0 vergrößern"
-#. Documentation/user/tweaks.itely:665 (comment)
-#. Documentation/user/tweaks.itely:704 (comment)
-#. Documentation/user/tweaks.itely:707 (comment)
+#. Documentation/user/tweaks.itely:666 (comment)
+#. Documentation/user/tweaks.itely:705 (comment)
+#. Documentation/user/tweaks.itely:708 (comment)
msgid "Increase thickness of immediately following slur only"
msgstr "Nur die Dicke des direkt folgenden Bogens vergrößern"
-#. Documentation/user/tweaks.itely:735 (comment)
+#. Documentation/user/tweaks.itely:736 (comment)
msgid "Revert thickness of all following slurs to default of 1.2"
msgstr "Die Dicke aller folgenden Bögen zurücksezten auf 1.2"
-#. Documentation/user/tweaks.itely:1395 (comment)
+#. Documentation/user/tweaks.itely:1396 (comment)
msgid "Don't print clefs in this staff"
msgstr "Keine Schlüssel in diesem System"
-#. Documentation/user/tweaks.itely:1397 (comment)
+#. Documentation/user/tweaks.itely:1398 (comment)
msgid "Don't print time signatures in this staff"
msgstr "Keine Taktangabe in diesem System"
-#. Documentation/user/tweaks.itely:1461 (comment)
+#. Documentation/user/tweaks.itely:1462 (comment)
msgid "Reduce all font sizes by ~24%"
msgstr "Alle Schriftgrößen um ~24% verkleinern"
-#. Documentation/user/tweaks.itely:1527 (comment)
+#. Documentation/user/tweaks.itely:1528 (comment)
msgid "Reduce stem length and line spacing to match"
msgstr "Die Halslänge und Linienabstand anpassen"
-#. Documentation/user/tweaks.itely:1957 (comment)
-#. Documentation/user/tweaks.itely:2027 (comment)
+#. Documentation/user/tweaks.itely:1958 (comment)
+#. Documentation/user/tweaks.itely:2028 (comment)
msgid "Set details for later Text Spanner"
msgstr "Details für späteren Text-Spanner setzen"
-#. Documentation/user/tweaks.itely:1960 (comment)
-#. Documentation/user/tweaks.itely:2030 (comment)
+#. Documentation/user/tweaks.itely:1961 (comment)
+#. Documentation/user/tweaks.itely:2031 (comment)
msgid "Place dynamics above staff"
msgstr "Dynamik-Zeichen über System setzen"
-#. Documentation/user/tweaks.itely:1962 (comment)
-#. Documentation/user/tweaks.itely:2034 (comment)
+#. Documentation/user/tweaks.itely:1963 (comment)
+#. Documentation/user/tweaks.itely:2035 (comment)
msgid "Start Ottava Bracket"
msgstr "Beginn der Oktavierungsklammer"
-#. Documentation/user/tweaks.itely:1965 (comment)
-#. Documentation/user/tweaks.itely:1972 (comment)
-#. Documentation/user/tweaks.itely:2037 (comment)
-#. Documentation/user/tweaks.itely:2044 (comment)
+#. Documentation/user/tweaks.itely:1966 (comment)
+#. Documentation/user/tweaks.itely:1973 (comment)
+#. Documentation/user/tweaks.itely:2038 (comment)
+#. Documentation/user/tweaks.itely:2045 (comment)
msgid "Add Dynamic Text"
msgstr "Dynamik-Text hinzufügen"
-#. Documentation/user/tweaks.itely:1967 (comment)
-#. Documentation/user/tweaks.itely:2039 (comment)
+#. Documentation/user/tweaks.itely:1968 (comment)
+#. Documentation/user/tweaks.itely:2040 (comment)
msgid "Add Dynamic Line Spanner"
msgstr "Dynamic Line Spanner hinzufügen"
-#. Documentation/user/tweaks.itely:1969 (comment)
-#. Documentation/user/tweaks.itely:2041 (comment)
+#. Documentation/user/tweaks.itely:1970 (comment)
+#. Documentation/user/tweaks.itely:2042 (comment)
msgid "Add Text Script"
msgstr "Textbeschriftung hinzufügen"
-#. Documentation/user/tweaks.itely:1974 (comment)
-#. Documentation/user/tweaks.itely:2046 (comment)
+#. Documentation/user/tweaks.itely:1975 (comment)
+#. Documentation/user/tweaks.itely:2047 (comment)
msgid "Stop Ottava Bracket"
msgstr "Ende der Oktavierungsklammer"
-#. Documentation/user/tweaks.itely:2032 (comment)
+#. Documentation/user/tweaks.itely:2033 (comment)
msgid "Place following Ottava Bracket below Text Spanners"
msgstr "Nächste Ottava-Klammer unter Text-Spanner setzen"
-#. Documentation/user/tweaks.itely:2094 (comment)
+#. Documentation/user/tweaks.itely:2095 (comment)
msgid "Cause notes to space out to accommodate text"
msgstr "Noten spreizen um dem Text Platz zu machen"
-#. Documentation/user/tweaks.itely:2117 (comment)
+#. Documentation/user/tweaks.itely:2118 (comment)
msgid "This markup is short enough to fit without collision"
msgstr "Dieser Text ist kurz genug um ohne Kollision zu passen"
-#. Documentation/user/tweaks.itely:2121 (comment)
+#. Documentation/user/tweaks.itely:2122 (comment)
msgid "This is too long to fit, so it is displaced upwards"
msgstr "Dieser ist zu lang, darum wird der nach oben verschoben"
-#. Documentation/user/tweaks.itely:2125 (comment)
-#. Documentation/user/tweaks.itely:2130 (comment)
+#. Documentation/user/tweaks.itely:2126 (comment)
+#. Documentation/user/tweaks.itely:2131 (comment)
msgid "Turn off collision avoidance"
msgstr "Abschalten der automatischen Vermeidung von Zusammenstößen"
-#. Documentation/user/tweaks.itely:2132 (comment)
+#. Documentation/user/tweaks.itely:2133 (comment)
msgid "and turn on textLengthOn"
msgstr "und Textlänge berücksichtigen"
-#. Documentation/user/tweaks.itely:2133 (comment)
+#. Documentation/user/tweaks.itely:2134 (comment)
msgid "Spaces at end are honored"
msgstr "Leerzeichen am Ende werden beachtet"
-#. Documentation/user/tweaks.itely:2240 (comment)
+#. Documentation/user/tweaks.itely:2241 (comment)
msgid "Extend width by 1 staff space"
msgstr "Breite um einen Linienabstand vergrößern"
-#. Documentation/user/tweaks.itely:2523 (comment)
+#. Documentation/user/tweaks.itely:2524 (comment)
msgid "This will not work, see below:"
msgstr "Das funktioniert nicht, siehe unten"
-#. Documentation/user/tweaks.itely:2527 (comment)
+#. Documentation/user/tweaks.itely:2528 (comment)
msgid "This works:"
msgstr "Das funktioniert:"
-#. Documentation/user/tweaks.itely:2578 (variable)
+#. Documentation/user/tweaks.itely:2579 (variable)
msgid "naturalplusflat"
msgstr "AuflösungB"
-#. Documentation/user/tweaks.itely:2619 (comment)
+#. Documentation/user/tweaks.itely:2620 (comment)
msgid "Extend width by 1 unit"
msgstr "Breite um eine Einheit vergrößern"
-#. Documentation/user/tweaks.itely:2621 (comment)
+#. Documentation/user/tweaks.itely:2622 (comment)
msgid "Align dynamics to a base line 2 units above staff"
msgstr ""
"Dynamik-Zeichen an einer Linie ausrichten, die 2 Einheiten über dem System "
"ist"
-#. Documentation/user/tweaks.itely:2925 (variable)
-#. Documentation/user/tweaks.itely:2974 (variable)
-#. Documentation/user/tweaks.itely:3035 (variable)
-#. Documentation/user/tweaks.itely:3105 (variable)
-#. Documentation/user/tweaks.itely:3170 (variable)
-#. Documentation/user/tweaks.itely:3230 (variable)
+#. Documentation/user/tweaks.itely:2926 (variable)
+#. Documentation/user/tweaks.itely:2975 (variable)
+#. Documentation/user/tweaks.itely:3036 (variable)
+#. Documentation/user/tweaks.itely:3106 (variable)
+#. Documentation/user/tweaks.itely:3171 (variable)
+#. Documentation/user/tweaks.itely:3231 (variable)
msgid "rhMusic"
msgstr "rhNoten"
-#. Documentation/user/tweaks.itely:2930 (comment)
-#. Documentation/user/tweaks.itely:2979 (comment)
-#. Documentation/user/tweaks.itely:3042 (comment)
-#. Documentation/user/tweaks.itely:3114 (comment)
-#. Documentation/user/tweaks.itely:3179 (comment)
+#. Documentation/user/tweaks.itely:2931 (comment)
+#. Documentation/user/tweaks.itely:2980 (comment)
+#. Documentation/user/tweaks.itely:3043 (comment)
+#. Documentation/user/tweaks.itely:3115 (comment)
+#. Documentation/user/tweaks.itely:3180 (comment)
msgid "Start polyphonic section of four voices"
msgstr "Beginn des polyphonen Abschnitts mit vier Stimmen"
-#. Documentation/user/tweaks.itely:2943 (variable)
-#. Documentation/user/tweaks.itely:2992 (variable)
-#. Documentation/user/tweaks.itely:3055 (variable)
-#. Documentation/user/tweaks.itely:3129 (variable)
-#. Documentation/user/tweaks.itely:3196 (variable)
-#. Documentation/user/tweaks.itely:3258 (variable)
+#. Documentation/user/tweaks.itely:2944 (variable)
+#. Documentation/user/tweaks.itely:2993 (variable)
+#. Documentation/user/tweaks.itely:3056 (variable)
+#. Documentation/user/tweaks.itely:3130 (variable)
+#. Documentation/user/tweaks.itely:3197 (variable)
+#. Documentation/user/tweaks.itely:3259 (variable)
msgid "lhMusic"
msgstr "lhNoten"
-#. Documentation/user/tweaks.itely:2952 (context id)
-#. Documentation/user/tweaks.itely:3001 (context id)
-#. Documentation/user/tweaks.itely:3064 (context id)
-#. Documentation/user/tweaks.itely:3138 (context id)
-#. Documentation/user/tweaks.itely:3205 (context id)
-#. Documentation/user/tweaks.itely:3267 (context id)
+#. Documentation/user/tweaks.itely:2953 (context id)
+#. Documentation/user/tweaks.itely:3002 (context id)
+#. Documentation/user/tweaks.itely:3065 (context id)
+#. Documentation/user/tweaks.itely:3139 (context id)
+#. Documentation/user/tweaks.itely:3206 (context id)
+#. Documentation/user/tweaks.itely:3268 (context id)
#. Documentation/user/input.itely:964 (context id)
msgid "RH"
msgstr "RH"
-#. Documentation/user/tweaks.itely:2956 (context id)
-#. Documentation/user/tweaks.itely:3005 (context id)
-#. Documentation/user/tweaks.itely:3068 (context id)
-#. Documentation/user/tweaks.itely:3142 (context id)
-#. Documentation/user/tweaks.itely:3209 (context id)
-#. Documentation/user/tweaks.itely:3271 (context id)
+#. Documentation/user/tweaks.itely:2957 (context id)
+#. Documentation/user/tweaks.itely:3006 (context id)
+#. Documentation/user/tweaks.itely:3069 (context id)
+#. Documentation/user/tweaks.itely:3143 (context id)
+#. Documentation/user/tweaks.itely:3210 (context id)
+#. Documentation/user/tweaks.itely:3272 (context id)
#. Documentation/user/input.itely:970 (context id)
msgid "LH"
msgstr "LH"
-#. Documentation/user/tweaks.itely:3183 (comment)
-#. Documentation/user/tweaks.itely:3245 (comment)
+#. Documentation/user/tweaks.itely:3184 (comment)
+#. Documentation/user/tweaks.itely:3246 (comment)
msgid "Move the c2 out of the main note column so the merge will work"
msgstr ""
"Verschiebe das c2 aus der Hauptnotenkolumne, damit Verschmelzung funktioniert"
-#. Documentation/user/tweaks.itely:3186 (comment)
-#. Documentation/user/tweaks.itely:3248 (comment)
+#. Documentation/user/tweaks.itely:3187 (comment)
+#. Documentation/user/tweaks.itely:3249 (comment)
msgid "Stem on the d2 must be down to permit merging"
msgstr "Hals vom d2 muss nach unten, damit Verschmelzung gelingt"
-#. Documentation/user/tweaks.itely:3243 (comment)
+#. Documentation/user/tweaks.itely:3244 (comment)
msgid "Reposition the c2 to the right of the merged note"
msgstr "c2 neu positionieren rechts von der verschmolzenen Note"
-#. Documentation/user/tweaks.itely:3379 (comment)
-#. Documentation/user/tweaks.itely:3401 (comment)
+#. Documentation/user/tweaks.itely:3380 (comment)
+#. Documentation/user/tweaks.itely:3402 (comment)
msgid "Visible tempo marking"
msgstr "Sichtbare Tempo-Bezeichnung"
-#. Documentation/user/tweaks.itely:3383 (comment)
-#. Documentation/user/tweaks.itely:3405 (comment)
+#. Documentation/user/tweaks.itely:3384 (comment)
+#. Documentation/user/tweaks.itely:3406 (comment)
msgid "Invisible tempo marking to lengthen fermata in MIDI"
msgstr "Unsichtbare Tempo-Bezeichnung um Fermate im MIDI zu verlängern"
-#. Documentation/user/tweaks.itely:3386 (comment)
-#. Documentation/user/tweaks.itely:3408 (comment)
+#. Documentation/user/tweaks.itely:3387 (comment)
+#. Documentation/user/tweaks.itely:3409 (comment)
msgid "New tempo for next section"
msgstr "Neues Tempo im nächsten Abschnitt"
-#. Documentation/user/tweaks.itely:3460 (variable)
+#. Documentation/user/tweaks.itely:3466 (variable)
msgid "emphasize"
msgstr "emphasize"
-#. Documentation/user/tweaks.itely:3464 (variable)
+#. Documentation/user/tweaks.itely:3470 (variable)
msgid "normal"
msgstr "normal"
-#. Documentation/user/tweaks.itely:3470 (variable)
+#. Documentation/user/tweaks.itely:3476 (variable)
msgid "SopranoMusic"
msgstr "SopranNoten"
-#. Documentation/user/tweaks.itely:3483 (context id)
+#. Documentation/user/tweaks.itely:3489 (context id)
#. Documentation/user/input.itely:949 (context id)
msgid "Soprano"
msgstr "Sopran"
-#. Documentation/user/tweaks.itely:3692 (comment)
+#. Documentation/user/tweaks.itely:3698 (comment)
msgid "Arrange to obtain color from color-notehead procedure"
msgstr "Anordnungen um Farbe von der color-notehead-Prozedur zu erhalten"
#. @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"
msgstr "LilyPond-Dateien erstellen"
#. @top in Documentation/user/lilypond.tely
+#. @top in Documentation/de/user/lilypond.tely
msgid "GNU LilyPond --- Notation Reference"
msgstr "GNU LilyPond -- Notationsreferenz"
msgid "Musical notation"
msgstr "Musikalische Notation"
-#. Documentation/user/pitches.itely:666 (variable)
+#. Documentation/user/pitches.itely:688 (variable)
#. Documentation/user/input.itely:1033 (variable)
#. Documentation/user/input.itely:1052 (variable)
#. Documentation/user/input.itely:1089 (variable)
msgid "music"
msgstr "Noten"
-#. Documentation/user/pitches.itely:1039 (comment)
+#. Documentation/user/pitches.itely:1082 (comment)
msgid "not strictly necessary, but a good reminder"
msgstr "nicht unbdingt nötig, aber gut zu erinnern"
-#. Documentation/user/pitches.itely:1046 (context id)
+#. Documentation/user/pitches.itely:1089 (context id)
#. Documentation/user/staff.itely:1076 (variable)
msgid "clarinet"
msgstr "Klarinette"
-#. Documentation/user/pitches.itely:1130 (variable)
+#. Documentation/user/pitches.itely:1174 (variable)
msgid "musicA"
msgstr "NotenA"
-#. Documentation/user/pitches.itely:1144 (variable)
+#. Documentation/user/pitches.itely:1188 (variable)
msgid "musicB"
msgstr "NotenB"
-#. Documentation/user/pitches.itely:1163 (context id)
-#. Documentation/user/keyboards.itely:171 (context id)
-#. Documentation/user/keyboards.itely:265 (context id)
+#. Documentation/user/pitches.itely:1207 (context id)
+#. Documentation/user/keyboards.itely:175 (context id)
+#. Documentation/user/keyboards.itely:274 (context id)
#. Documentation/user/percussion.itely:175 (variable)
#. Documentation/user/percussion.itely:365 (variable)
#. input/lsr/jazz-combo-template.ly:241 (variable)
msgid "up"
msgstr "oben"
-#. Documentation/user/pitches.itely:1167 (context id)
-#. Documentation/user/keyboards.itely:181 (context id)
-#. Documentation/user/keyboards.itely:274 (context id)
+#. Documentation/user/pitches.itely:1211 (context id)
+#. Documentation/user/keyboards.itely:185 (context id)
+#. Documentation/user/keyboards.itely:283 (context id)
#. Documentation/user/percussion.itely:178 (variable)
#. Documentation/user/percussion.itely:366 (variable)
#. input/lsr/jazz-combo-template.ly:247 (variable)
msgid "Formatting cue notes"
msgstr "Stichnoten formatieren"
-#. Documentation/user/editorial.itely:325 (comment)
+#. Documentation/user/editorial.itely:326 (comment)
msgid "this is deliberate nonsense; note that the stems remain black"
msgstr "Das ist Unsinn, die Hälsen bleiben schwarz"
msgid "Printing stanzas at the end in multiple columns"
msgstr "Die Strophen am Ende in mehreren Spalten drucken"
-#. Documentation/user/keyboards.itely:183 (comment)
+#. Documentation/user/keyboards.itely:187 (comment)
msgid "keep staff alive"
msgstr "System aufrecht erhalten"
-#. Documentation/user/keyboards.itely:266 (context id)
+#. Documentation/user/keyboards.itely:275 (context id)
msgid "melOne"
msgstr "melEins"
-#. Documentation/user/keyboards.itely:335 (context id)
+#. Documentation/user/keyboards.itely:344 (context id)
#. Documentation/user/fretted-strings.itely:244 (context id)
#. input/lsr/adding-fingerings-to-tablatures.ly:17 (variable)
#. input/lsr/jazz-combo-template.ly:205 (context id)
msgid "two"
msgstr "zwei"
-#. Documentation/user/keyboards.itely:389 (comment)
+#. Documentation/user/keyboards.itely:398 (comment)
msgid "stems may overlap the other staff"
msgstr "Hals kann das andere System überschneiden"
-#. Documentation/user/keyboards.itely:391 (comment)
+#. Documentation/user/keyboards.itely:400 (comment)
msgid "extend the stems to reach other other staff"
msgstr "Hälse verlängern um anderes System zu erreichen"
-#. Documentation/user/keyboards.itely:393 (comment)
+#. Documentation/user/keyboards.itely:402 (comment)
msgid "do not print extra flags"
msgstr "keine doppelten Fähnchen"
-#. Documentation/user/keyboards.itely:395 (comment)
+#. Documentation/user/keyboards.itely:404 (comment)
msgid "prevent beaming as needed"
msgstr "Balken verhindern"
#. @node in Documentation/user/keyboards.itely
#. @unnumberedsubsubsec in Documentation/user/keyboards.itely
-msgid "Harp notation"
-msgstr "Harfennotation"
+#. @node in Documentation/es/user/keyboards.itely
+#. @unnumberedsubsubsec in Documentation/es/user/keyboards.itely
+#. @node in Documentation/de/user/keyboards.itely
+#. @unnumberedsubsubsec in Documentation/de/user/keyboards.itely
+msgid "References for harps"
+msgstr "Referenzen für Harfe"
#. @node in Documentation/user/keyboards.itely
#. @unnumberedsubsubsec in Documentation/user/keyboards.itely
+#. @node in Documentation/es/user/keyboards.itely
+#. @unnumberedsubsubsec in Documentation/es/user/keyboards.itely
#. @node in Documentation/de/user/keyboards.itely
#. @unnumberedsubsubsec in Documentation/de/user/keyboards.itely
msgid "Harp pedals"
msgid "A chord for ukelele"
msgstr "Akkord für Ukulele"
-#. Documentation/user/fretted-strings.itely:770 (variable)
-#. Documentation/user/fretted-strings.itely:793 (variable)
-#. Documentation/user/fretted-strings.itely:822 (variable)
-#. Documentation/user/fretted-strings.itely:851 (variable)
-#. Documentation/user/fretted-strings.itely:875 (variable)
-#. Documentation/user/fretted-strings.itely:919 (variable)
+#. Documentation/user/fretted-strings.itely:782 (variable)
+#. Documentation/user/fretted-strings.itely:805 (variable)
+#. 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:937 (variable)
msgid "mychords"
msgstr "meineAkkorde"
-#. Documentation/user/fretted-strings.itely:797 (variable)
+#. Documentation/user/fretted-strings.itely:809 (variable)
msgid "mychordlist"
msgstr "meineAkkordliste"
-#. Documentation/user/fretted-strings.itely:906 (comment)
+#. Documentation/user/fretted-strings.itely:924 (comment)
msgid "add a new chord shape"
msgstr "Neues Akkordmuster hinzufügen"
-#. Documentation/user/fretted-strings.itely:910 (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:654 (variable)
+#. Documentation/user/chords.itely:669 (variable)
msgid "myChords"
msgstr "meineAkkorde"
-#. Documentation/user/chords.itely:984 (comment)
-#. Documentation/user/chords.itely:1005 (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:1068 (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:1080 (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"
#. @rglos in Documentation/user/chords.itely
#. @rglos in Documentation/es/user/chords.itely
+#. @rglos in Documentation/de/user/chords.itely
msgid "figured bass"
msgstr "Generalbass"
msgid "now they will collide"
msgstr "jetzt kollidieren sie"
-#. Documentation/user/spacing.itely:1788 (comment)
+#. Documentation/user/spacing.itely:1789 (comment)
msgid "the markup is too close to the following note"
msgstr "Beschriftung zu nah an der folgenden Note"
-#. Documentation/user/spacing.itely:1791 (comment)
+#. Documentation/user/spacing.itely:1793 (comment)
msgid "setting outside-staff-horizontal-padding fixes this"
msgstr "Setzen von outside-staff-horizontal-padding hilft"
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"
#. @subsection in Documentation/user/changing-defaults.itely
#. @node in Documentation/es/user/changing-defaults.itely
#. @subsection in Documentation/es/user/changing-defaults.itely
+#. @node in Documentation/de/user/changing-defaults.itely
+#. @subsection in Documentation/de/user/changing-defaults.itely
msgid "Staff symbol properties"
msgstr "Eigenschaften von Staff (Notensystem)-Symbol"
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
msgid "Using the @code{spanner-interface}"
msgstr "Das @code{spanner-interface} benutzen"
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
msgid "Using the @code{line-spanner-interface}"
msgstr "Das @code{line-spanner-interface} benutzen"
#. @subsection in Documentation/user/changing-defaults.itely
#. @node in Documentation/es/user/changing-defaults.itely
#. @subsection in Documentation/es/user/changing-defaults.itely
+#. @node in Documentation/de/user/changing-defaults.itely
+#. @subsection in Documentation/de/user/changing-defaults.itely
msgid "Visibility of objects"
msgstr "Sichtbarkeit von Objekten"
#. @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 "Rotating layout objects"
msgstr "Drehen von Objekten"
#. @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 "Rotating markup"
msgstr "Textbeschriftung drehen"
#. @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 "Setting @code{X-offset} and @code{Y-offset} directly"
msgstr "@code{X-offset} und @code{Y-offset} direkt setzen"
#. @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{side-position-interface}"
msgstr "Das @code{side-position-interface} benutzen"
#. @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{self-alignment-interface}"
msgstr "Das @code{self-alignment-interface} benutzen"
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
msgid "Using the @code{aligned-on-parent} procedures"
msgstr "Die @code{aligned-on-parent}-Prozeduren benutzen"
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
msgid "Using the @code{centered-on-parent} procedures"
msgstr "Die @code{centered-on-parent}-Prozeduren benutzen"
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @node in Documentation/es/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
-msgid "Using the @code{break-aligned-interface}"
-msgstr "Das @{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
#. @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 "Modifying ties and slurs"
msgstr "Bögen verändern"
#. @section in Documentation/user/programming-interface.itely
#. @subsection in Documentation/fr/user/changing-defaults.itely
#. @section in Documentation/es/user/programming-interface.itely
-#. @subsection in Documentation/de/user/programming-interface.itely
+#. @section in Documentation/de/user/programming-interface.itely
msgid "Using Scheme code instead of @code{\\tweak}"
msgstr "Scheme-Code anstelle von @code{\tweak} verwenden"
#. @node in Documentation/es/user/programming-interface.itely
#. @section in Documentation/es/user/programming-interface.itely
#. @node in Documentation/de/user/programming-interface.itely
-#. @subsection in Documentation/de/user/programming-interface.itely
+#. @section in Documentation/de/user/programming-interface.itely
msgid "Difficult tweaks"
msgstr "Schwierige Korrekturen"
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 "GNU LilyPond -- Programmbenutzung"
msgstr "GNU LilyPond -- Programmbenutzung"
-#. @top in Documentation/de/user/lilypond.tely
-msgid "GNU LilyPond -- Notationsreferenz"
-msgstr "GNU LilyPond -- Notationsreferenz"
-
#. @chapheading in Documentation/de/user/lilypond.tely
msgid "Das Notensatzprogramm"
msgstr "Das Notensatzprogramm"
msgstr "Melismen ignorieren"
#. @node in Documentation/de/user/changing-defaults.itely
-#. @section in Documentation/de/user/changing-defaults.itely
-msgid "Common properties"
-msgstr "Übliche Eigenschaften"
-
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @subsection in Documentation/de/user/changing-defaults.itely
-msgid "Controlling visibility of objects"
-msgstr "Die Sichtbarkeit von Objekten kontrollieren"
-
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @subsection in Documentation/de/user/changing-defaults.itely
-msgid "Modifying ends of spanners"
-msgstr "Enden von Streckern verändern"
-
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @section in Documentation/de/user/changing-defaults.itely
-msgid "Discussion of specific tweaks"
-msgstr "Erklärung von speziellen Optimierungen"
-
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @subsection in Documentation/de/user/changing-defaults.itely
-msgid "old Contexts explained"
-msgstr "Alte Kontexte"
-
-#. @node in Documentation/de/user/programming-interface.itely
-#. @section in Documentation/de/user/programming-interface.itely
-msgid "TODO moved into scheme"
-msgstr "TODO nach Scheme verschoben"
+#. @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"
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 "Test it:"
msgstr "testen:"
-#. input/lsr/tick-bar-lines.ly:21 (comment)
-msgid "Use 'bar-size to control the height of the tick,"
-msgstr "'bar-size benutzen um die Höhe des Häkchens zu bestimmen,"
-
-#. input/lsr/tick-bar-lines.ly:22 (comment)
-msgid "and 'extra-offset to determine its position."
-msgstr "'extra-offset, umd seine Position zu bestimmen."
-
-#. input/lsr/tick-bar-lines.ly:24 (comment)
-msgid "With 'extra-offset set to zero, the tick will be"
-msgstr "Mit 'extra-offset auf Null gesetzt, wird das Häkchen"
-
-#. input/lsr/tick-bar-lines.ly:25 (comment)
-msgid "centered around the middle line of the staff."
-msgstr "um die Mittellinie des Systems zentriert"
-
-#. input/lsr/tick-bar-lines.ly:27 (comment)
-msgid "Replace Staff.BarLine with Score.BarLine to"
-msgstr "Staff.BarLine mit Score.BarLine ersetzen"
-
-#. input/lsr/tick-bar-lines.ly:28 (comment)
-msgid "apply the method to the whole score."
-msgstr "um die Methode auf die gesamte Partitur anzuwenden"
-
-#. input/lsr/tick-bar-lines.ly:38 (comment)
-msgid "Revert the overrides to get back a normal"
-msgstr "alles rückgängig machen und eine normale"
-
-#. input/lsr/tick-bar-lines.ly:39 (comment)
-msgid "bar line at the end."
-msgstr "Taktlinie am Ende setzen"
-
#. input/lsr/transcription-of-ancient-music-with-incipit.ly:127 (variable)
msgid "incipitDiscantus"
msgstr "incipitDiscantus"
msgid "Table of Contents"
msgstr "Inhaltsverzeichnis"
+#~ msgid "MacOS X on the command-line"
+#~ msgstr "MacOS X auf der Kommandozeile"
+
+#~ msgid "Harp notation"
+#~ msgstr "Harfennotation"
+
+#~ msgid "GNU LilyPond -- Notationsreferenz"
+#~ msgstr "GNU LilyPond -- Notationsreferenz"
+
+#~ msgid "Common properties"
+#~ msgstr "Übliche Eigenschaften"
+
+#~ msgid "Controlling visibility of objects"
+#~ msgstr "Die Sichtbarkeit von Objekten kontrollieren"
+
+#~ msgid "Modifying ends of spanners"
+#~ msgstr "Enden von Streckern verändern"
+
+#~ msgid "Discussion of specific tweaks"
+#~ msgstr "Erklärung von speziellen Optimierungen"
+
+#~ msgid "old Contexts explained"
+#~ msgstr "Alte Kontexte"
+
+#~ msgid "TODO moved into scheme"
+#~ msgstr "TODO nach Scheme verschoben"
+
+#~ msgid "Use 'bar-size to control the height of the tick,"
+#~ msgstr "'bar-size benutzen um die Höhe des Häkchens zu bestimmen,"
+
+#~ msgid "and 'extra-offset to determine its position."
+#~ msgstr "'extra-offset, umd seine Position zu bestimmen."
+
+#~ msgid "With 'extra-offset set to zero, the tick will be"
+#~ msgstr "Mit 'extra-offset auf Null gesetzt, wird das Häkchen"
+
+#~ msgid "centered around the middle line of the staff."
+#~ msgstr "um die Mittellinie des Systems zentriert"
+
+#~ msgid "Replace Staff.BarLine with Score.BarLine to"
+#~ msgstr "Staff.BarLine mit Score.BarLine ersetzen"
+
+#~ msgid "apply the method to the whole score."
+#~ msgstr "um die Methode auf die gesamte Partitur anzuwenden"
+
+#~ msgid "Revert the overrides to get back a normal"
+#~ msgstr "alles rückgängig machen und eine normale"
+
+#~ msgid "bar line at the end."
+#~ msgstr "Taktlinie am Ende setzen"
+
#~ msgid "applies to \\\"fas\\\""
#~ msgstr "gehört zu \\\"fas\\\""
msgstr ""
"Project-Id-Version: es\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-12-07 23:30+0100\n"
-"PO-Revision-Date: 2008-12-03 11:45+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"
"MIME-Version: 1.0\n"
#. Documentation/user/tutorial.itely:1791 (variable)
#. Documentation/user/working.itely:214 (variable)
#. Documentation/user/working.itely:229 (variable)
-#. Documentation/user/pitches.itely:1035 (context id)
+#. Documentation/user/pitches.itely:1078 (context id)
msgid "violin"
msgstr "violin"
#. @rglos in Documentation/es/user/chords.itely
#. @rglos in Documentation/de/user/tutorial.itely
#. @rglos in Documentation/de/user/simultaneous.itely
+#. @rglos in Documentation/de/user/chords.itely
msgid "chord"
msgstr "acorde"
#. Documentation/user/vocal.itely:506 (context id)
#. Documentation/user/vocal.itely:1235 (context id)
#. Documentation/user/vocal.itely:1276 (context id)
-#. Documentation/user/keyboards.itely:329 (context id)
+#. Documentation/user/keyboards.itely:338 (context id)
#. Documentation/user/fretted-strings.itely:243 (context id)
#. input/lsr/adding-fingerings-to-tablatures.ly:16 (variable)
#. input/lsr/jazz-combo-template.ly:204 (context id)
#. Documentation/user/fundamental.itely:1242 (variable)
#. Documentation/user/fundamental.itely:2646 (variable)
-#. Documentation/user/tweaks.itely:3469 (variable)
+#. Documentation/user/tweaks.itely:3475 (variable)
#. Documentation/user/simultaneous.itely:788 (variable)
#. Documentation/user/percussion.itely:497 (variable)
#. input/lsr/ancient-notation-template----modern-transcription-of-mensural-music.ly:46 (variable)
msgstr "MusicaSoprano"
#. Documentation/user/fundamental.itely:1298 (variable)
-#. Documentation/user/tweaks.itely:3471 (variable)
+#. Documentation/user/tweaks.itely:3477 (variable)
msgid "AltoMusic"
msgstr "MusicaAlto"
#. Documentation/user/fundamental.itely:1299 (variable)
-#. Documentation/user/tweaks.itely:3472 (variable)
+#. Documentation/user/tweaks.itely:3478 (variable)
msgid "TenorMusic"
msgstr "MusicaTenor"
#. Documentation/user/fundamental.itely:1300 (variable)
-#. Documentation/user/tweaks.itely:3473 (variable)
+#. Documentation/user/tweaks.itely:3479 (variable)
msgid "BassMusic"
msgstr "MusicaBajo"
#. Documentation/user/fundamental.itely:1301 (variable)
-#. Documentation/user/tweaks.itely:3474 (variable)
+#. Documentation/user/tweaks.itely:3480 (variable)
msgid "VerseOne"
msgstr "EstrofaUno"
#. Documentation/user/fundamental.itely:1303 (variable)
-#. Documentation/user/tweaks.itely:3475 (variable)
+#. Documentation/user/tweaks.itely:3481 (variable)
msgid "VerseTwo"
msgstr "EstrofaDos"
#. Documentation/user/fundamental.itely:1305 (variable)
-#. Documentation/user/tweaks.itely:3476 (variable)
+#. Documentation/user/tweaks.itely:3482 (variable)
msgid "VerseThree"
msgstr "EstrofaTres"
#. Documentation/user/fundamental.itely:1307 (variable)
-#. Documentation/user/tweaks.itely:3477 (variable)
+#. Documentation/user/tweaks.itely:3483 (variable)
msgid "VerseFour"
msgstr "EstrofaCuatro"
msgstr "Soprano"
#. Documentation/user/fundamental.itely:1315 (context id)
-#. Documentation/user/tweaks.itely:3484 (context id)
+#. Documentation/user/tweaks.itely:3490 (context id)
#. Documentation/user/input.itely:951 (context id)
msgid "Alto"
msgstr "Alto"
#. Documentation/user/fundamental.itely:1323 (context id)
-#. Documentation/user/tweaks.itely:3492 (context id)
+#. Documentation/user/tweaks.itely:3498 (context id)
#. Documentation/user/input.itely:953 (context id)
msgid "Tenor"
msgstr "Tenor"
# También Líneas divisorias. FVD
#. Documentation/user/fundamental.itely:1324 (context id)
-#. Documentation/user/tweaks.itely:3493 (context id)
+#. Documentation/user/tweaks.itely:3499 (context id)
#. Documentation/user/input.itely:958 (context id)
#. input/lsr/jazz-combo-template.ly:227 (variable)
msgid "Bass"
msgid "Building a score from scratch"
msgstr "Crear una partitura partiendo de cero"
-#. Documentation/user/tweaks.itely:596 (comment)
-#. Documentation/user/tweaks.itely:731 (comment)
+#. Documentation/user/tweaks.itely:597 (comment)
+#. Documentation/user/tweaks.itely:732 (comment)
msgid "Increase thickness of all following slurs from 1.2 to 5.0"
msgstr "Aumentar el grosor de todas las ligaduras siguientes de 1.2 a 5.0"
-#. Documentation/user/tweaks.itely:665 (comment)
-#. Documentation/user/tweaks.itely:704 (comment)
-#. Documentation/user/tweaks.itely:707 (comment)
+#. Documentation/user/tweaks.itely:666 (comment)
+#. Documentation/user/tweaks.itely:705 (comment)
+#. Documentation/user/tweaks.itely:708 (comment)
msgid "Increase thickness of immediately following slur only"
msgstr "Aumentar solamente el grosor de la ligadura siguiente"
-#. Documentation/user/tweaks.itely:735 (comment)
+#. 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"
-#. Documentation/user/tweaks.itely:1395 (comment)
+#. Documentation/user/tweaks.itely:1396 (comment)
msgid "Don't print clefs in this staff"
msgstr "No imprimir la clave en este pentagrama"
-#. Documentation/user/tweaks.itely:1397 (comment)
+#. Documentation/user/tweaks.itely:1398 (comment)
msgid "Don't print time signatures in this staff"
msgstr "No imprimir el compás en este pentagrama"
-#. Documentation/user/tweaks.itely:1461 (comment)
+#. Documentation/user/tweaks.itely:1462 (comment)
msgid "Reduce all font sizes by ~24%"
msgstr "Reducir el tamaño de la fuente en un 24% aprox."
-#. Documentation/user/tweaks.itely:1527 (comment)
+#. 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"
-#. Documentation/user/tweaks.itely:1957 (comment)
-#. Documentation/user/tweaks.itely:2027 (comment)
+#. Documentation/user/tweaks.itely:1958 (comment)
+#. Documentation/user/tweaks.itely:2028 (comment)
msgid "Set details for later Text Spanner"
msgstr "Establecer ajustes para el extensor de texto ulterior"
-#. Documentation/user/tweaks.itely:1960 (comment)
-#. Documentation/user/tweaks.itely:2030 (comment)
+#. Documentation/user/tweaks.itely:1961 (comment)
+#. Documentation/user/tweaks.itely:2031 (comment)
msgid "Place dynamics above staff"
msgstr "Situar la dinámica por encima"
# fuzzy. FVD
-#. Documentation/user/tweaks.itely:1962 (comment)
-#. Documentation/user/tweaks.itely:2034 (comment)
+#. Documentation/user/tweaks.itely:1963 (comment)
+#. Documentation/user/tweaks.itely:2035 (comment)
msgid "Start Ottava Bracket"
msgstr "Inicio del corchete de octava"
-#. Documentation/user/tweaks.itely:1965 (comment)
-#. Documentation/user/tweaks.itely:1972 (comment)
-#. Documentation/user/tweaks.itely:2037 (comment)
-#. Documentation/user/tweaks.itely:2044 (comment)
+#. Documentation/user/tweaks.itely:1966 (comment)
+#. Documentation/user/tweaks.itely:1973 (comment)
+#. Documentation/user/tweaks.itely:2038 (comment)
+#. Documentation/user/tweaks.itely:2045 (comment)
msgid "Add Dynamic Text"
msgstr "Añadir indicación dinámica textual"
-#. Documentation/user/tweaks.itely:1967 (comment)
-#. Documentation/user/tweaks.itely:2039 (comment)
+#. Documentation/user/tweaks.itely:1968 (comment)
+#. Documentation/user/tweaks.itely:2040 (comment)
msgid "Add Dynamic Line Spanner"
msgstr "Añadir indicación dinámica de extensión de línea"
-#. Documentation/user/tweaks.itely:1969 (comment)
-#. Documentation/user/tweaks.itely:2041 (comment)
+#. Documentation/user/tweaks.itely:1970 (comment)
+#. Documentation/user/tweaks.itely:2042 (comment)
msgid "Add Text Script"
msgstr "Guiones de texto"
-#. Documentation/user/tweaks.itely:1974 (comment)
-#. Documentation/user/tweaks.itely:2046 (comment)
+#. Documentation/user/tweaks.itely:1975 (comment)
+#. Documentation/user/tweaks.itely:2047 (comment)
msgid "Stop Ottava Bracket"
msgstr "Detener el corchete de octava"
-#. Documentation/user/tweaks.itely:2032 (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"
-#. Documentation/user/tweaks.itely:2094 (comment)
+#. Documentation/user/tweaks.itely:2095 (comment)
msgid "Cause notes to space out to accommodate text"
msgstr "Ocasionar que las notas se espacíen para adecuarse al texto"
-#. Documentation/user/tweaks.itely:2117 (comment)
+#. Documentation/user/tweaks.itely:2118 (comment)
msgid "This markup is short enough to fit without collision"
msgstr "Este marcado es corto y cabe sin colisionar"
-#. Documentation/user/tweaks.itely:2121 (comment)
+#. Documentation/user/tweaks.itely:2122 (comment)
msgid "This is too long to fit, so it is displaced upwards"
msgstr "Este es muy largo y se desplaza hacia arriba"
-#. Documentation/user/tweaks.itely:2125 (comment)
-#. Documentation/user/tweaks.itely:2130 (comment)
+#. Documentation/user/tweaks.itely:2126 (comment)
+#. Documentation/user/tweaks.itely:2131 (comment)
msgid "Turn off collision avoidance"
msgstr "Desactivar el detector de colisiones"
-#. Documentation/user/tweaks.itely:2132 (comment)
+#. Documentation/user/tweaks.itely:2133 (comment)
msgid "and turn on textLengthOn"
msgstr "y activar textLengthOn"
-#. Documentation/user/tweaks.itely:2133 (comment)
+#. Documentation/user/tweaks.itely:2134 (comment)
msgid "Spaces at end are honored"
msgstr "Los espacios al final se respetan"
-#. Documentation/user/tweaks.itely:2240 (comment)
+#. Documentation/user/tweaks.itely:2241 (comment)
msgid "Extend width by 1 staff space"
msgstr "Aumentar la anchura en un espacio de pentagrama"
-#. Documentation/user/tweaks.itely:2523 (comment)
+#. Documentation/user/tweaks.itely:2524 (comment)
msgid "This will not work, see below:"
msgstr "Esto no va a funcionar, véase más abajo:"
-#. Documentation/user/tweaks.itely:2527 (comment)
+#. Documentation/user/tweaks.itely:2528 (comment)
msgid "This works:"
msgstr "Esto sí funciona:"
-#. Documentation/user/tweaks.itely:2578 (variable)
+#. Documentation/user/tweaks.itely:2579 (variable)
msgid "naturalplusflat"
msgstr "becuadro_y_bemol"
-#. Documentation/user/tweaks.itely:2619 (comment)
+#. Documentation/user/tweaks.itely:2620 (comment)
msgid "Extend width by 1 unit"
msgstr "Aumentar la anchura en una unidad"
-#. Documentation/user/tweaks.itely:2621 (comment)
+#. Documentation/user/tweaks.itely:2622 (comment)
msgid "Align dynamics to a base line 2 units above staff"
msgstr "Alinear los matices a dos unidades por encima del pentagrama"
-#. Documentation/user/tweaks.itely:2925 (variable)
-#. Documentation/user/tweaks.itely:2974 (variable)
-#. Documentation/user/tweaks.itely:3035 (variable)
-#. Documentation/user/tweaks.itely:3105 (variable)
-#. Documentation/user/tweaks.itely:3170 (variable)
-#. Documentation/user/tweaks.itely:3230 (variable)
+#. Documentation/user/tweaks.itely:2926 (variable)
+#. Documentation/user/tweaks.itely:2975 (variable)
+#. Documentation/user/tweaks.itely:3036 (variable)
+#. Documentation/user/tweaks.itely:3106 (variable)
+#. Documentation/user/tweaks.itely:3171 (variable)
+#. Documentation/user/tweaks.itely:3231 (variable)
msgid "rhMusic"
msgstr "Musica_m_der"
-#. Documentation/user/tweaks.itely:2930 (comment)
-#. Documentation/user/tweaks.itely:2979 (comment)
-#. Documentation/user/tweaks.itely:3042 (comment)
-#. Documentation/user/tweaks.itely:3114 (comment)
-#. Documentation/user/tweaks.itely:3179 (comment)
+#. Documentation/user/tweaks.itely:2931 (comment)
+#. Documentation/user/tweaks.itely:2980 (comment)
+#. Documentation/user/tweaks.itely:3043 (comment)
+#. Documentation/user/tweaks.itely:3115 (comment)
+#. Documentation/user/tweaks.itely:3180 (comment)
msgid "Start polyphonic section of four voices"
msgstr "Inicio de la sección polifónica de cuatro voces"
-#. Documentation/user/tweaks.itely:2943 (variable)
-#. Documentation/user/tweaks.itely:2992 (variable)
-#. Documentation/user/tweaks.itely:3055 (variable)
-#. Documentation/user/tweaks.itely:3129 (variable)
-#. Documentation/user/tweaks.itely:3196 (variable)
-#. Documentation/user/tweaks.itely:3258 (variable)
+#. Documentation/user/tweaks.itely:2944 (variable)
+#. Documentation/user/tweaks.itely:2993 (variable)
+#. Documentation/user/tweaks.itely:3056 (variable)
+#. Documentation/user/tweaks.itely:3130 (variable)
+#. Documentation/user/tweaks.itely:3197 (variable)
+#. Documentation/user/tweaks.itely:3259 (variable)
msgid "lhMusic"
msgstr "Muslca_m_izq"
-#. Documentation/user/tweaks.itely:2952 (context id)
-#. Documentation/user/tweaks.itely:3001 (context id)
-#. Documentation/user/tweaks.itely:3064 (context id)
-#. Documentation/user/tweaks.itely:3138 (context id)
-#. Documentation/user/tweaks.itely:3205 (context id)
-#. Documentation/user/tweaks.itely:3267 (context id)
+#. Documentation/user/tweaks.itely:2953 (context id)
+#. Documentation/user/tweaks.itely:3002 (context id)
+#. Documentation/user/tweaks.itely:3065 (context id)
+#. Documentation/user/tweaks.itely:3139 (context id)
+#. Documentation/user/tweaks.itely:3206 (context id)
+#. Documentation/user/tweaks.itely:3268 (context id)
#. Documentation/user/input.itely:964 (context id)
msgid "RH"
msgstr "MD"
-#. Documentation/user/tweaks.itely:2956 (context id)
-#. Documentation/user/tweaks.itely:3005 (context id)
-#. Documentation/user/tweaks.itely:3068 (context id)
-#. Documentation/user/tweaks.itely:3142 (context id)
-#. Documentation/user/tweaks.itely:3209 (context id)
-#. Documentation/user/tweaks.itely:3271 (context id)
+#. Documentation/user/tweaks.itely:2957 (context id)
+#. Documentation/user/tweaks.itely:3006 (context id)
+#. Documentation/user/tweaks.itely:3069 (context id)
+#. Documentation/user/tweaks.itely:3143 (context id)
+#. Documentation/user/tweaks.itely:3210 (context id)
+#. Documentation/user/tweaks.itely:3272 (context id)
#. Documentation/user/input.itely:970 (context id)
msgid "LH"
msgstr "MI"
-#. Documentation/user/tweaks.itely:3183 (comment)
-#. Documentation/user/tweaks.itely:3245 (comment)
+#. Documentation/user/tweaks.itely:3184 (comment)
+#. Documentation/user/tweaks.itely:3246 (comment)
msgid "Move the c2 out of the main note column so the merge will work"
msgstr ""
"Sacar el Do blanca de la columna principal de notas para que la fusión "
"funcione"
-#. Documentation/user/tweaks.itely:3186 (comment)
-#. Documentation/user/tweaks.itely:3248 (comment)
+#. Documentation/user/tweaks.itely:3187 (comment)
+#. Documentation/user/tweaks.itely:3249 (comment)
msgid "Stem on the d2 must be down to permit merging"
msgstr "La plica del Re blanca debe estar hacia abajo para permitir la fusión"
-#. Documentation/user/tweaks.itely:3243 (comment)
+#. Documentation/user/tweaks.itely:3244 (comment)
msgid "Reposition the c2 to the right of the merged note"
msgstr "Recolocar el Do blanca a la derecha de la nota fundida"
-#. Documentation/user/tweaks.itely:3379 (comment)
-#. Documentation/user/tweaks.itely:3401 (comment)
+#. Documentation/user/tweaks.itely:3380 (comment)
+#. Documentation/user/tweaks.itely:3402 (comment)
msgid "Visible tempo marking"
msgstr "Indicación metronómica visible"
-#. Documentation/user/tweaks.itely:3383 (comment)
-#. Documentation/user/tweaks.itely:3405 (comment)
+#. Documentation/user/tweaks.itely:3384 (comment)
+#. Documentation/user/tweaks.itely:3406 (comment)
msgid "Invisible tempo marking to lengthen fermata in MIDI"
msgstr "Indicación metronómica invisible para prolongar el calderón en el MIDI"
-#. Documentation/user/tweaks.itely:3386 (comment)
-#. Documentation/user/tweaks.itely:3408 (comment)
+#. Documentation/user/tweaks.itely:3387 (comment)
+#. Documentation/user/tweaks.itely:3409 (comment)
msgid "New tempo for next section"
msgstr "Tempo nuevo para la sección siguiente"
-#. Documentation/user/tweaks.itely:3460 (variable)
+#. Documentation/user/tweaks.itely:3466 (variable)
msgid "emphasize"
msgstr "enfatizar"
-#. Documentation/user/tweaks.itely:3464 (variable)
+#. Documentation/user/tweaks.itely:3470 (variable)
msgid "normal"
msgstr "normal"
-#. Documentation/user/tweaks.itely:3470 (variable)
+#. Documentation/user/tweaks.itely:3476 (variable)
msgid "SopranoMusic"
msgstr "musicaSoprano"
-#. Documentation/user/tweaks.itely:3483 (context id)
+#. Documentation/user/tweaks.itely:3489 (context id)
#. Documentation/user/input.itely:949 (context id)
msgid "Soprano"
msgstr "Soprano"
-#. Documentation/user/tweaks.itely:3692 (comment)
+#. Documentation/user/tweaks.itely:3698 (comment)
msgid "Arrange to obtain color from color-notehead procedure"
msgstr "Truco para obtener color a partir del procedimiento color-notehead"
#. @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"
msgstr "Generar archivos de LilyPond"
#. @top in Documentation/user/lilypond.tely
+#. @top in Documentation/de/user/lilypond.tely
msgid "GNU LilyPond --- Notation Reference"
msgstr "GNU LilyPond: Referencia de la notación"
msgid "Musical notation"
msgstr "Notación musical"
-#. Documentation/user/pitches.itely:666 (variable)
+#. Documentation/user/pitches.itely:688 (variable)
#. Documentation/user/input.itely:1033 (variable)
#. Documentation/user/input.itely:1052 (variable)
#. Documentation/user/input.itely:1089 (variable)
msgid "music"
msgstr "musica"
-#. Documentation/user/pitches.itely:1039 (comment)
+#. Documentation/user/pitches.itely:1082 (comment)
msgid "not strictly necessary, but a good reminder"
msgstr "no es imprescindible pero es bueno recordarlo"
-#. Documentation/user/pitches.itely:1046 (context id)
+#. Documentation/user/pitches.itely:1089 (context id)
#. Documentation/user/staff.itely:1076 (variable)
msgid "clarinet"
msgstr "clarinete"
-#. Documentation/user/pitches.itely:1130 (variable)
+#. Documentation/user/pitches.itely:1174 (variable)
msgid "musicA"
msgstr "musicaA"
-#. Documentation/user/pitches.itely:1144 (variable)
+#. Documentation/user/pitches.itely:1188 (variable)
msgid "musicB"
msgstr "musicaB"
-#. Documentation/user/pitches.itely:1163 (context id)
-#. Documentation/user/keyboards.itely:171 (context id)
-#. Documentation/user/keyboards.itely:265 (context id)
+#. Documentation/user/pitches.itely:1207 (context id)
+#. Documentation/user/keyboards.itely:175 (context id)
+#. Documentation/user/keyboards.itely:274 (context id)
#. Documentation/user/percussion.itely:175 (variable)
#. Documentation/user/percussion.itely:365 (variable)
#. input/lsr/jazz-combo-template.ly:241 (variable)
msgid "up"
msgstr "arriba"
-#. Documentation/user/pitches.itely:1167 (context id)
-#. Documentation/user/keyboards.itely:181 (context id)
-#. Documentation/user/keyboards.itely:274 (context id)
+#. Documentation/user/pitches.itely:1211 (context id)
+#. Documentation/user/keyboards.itely:185 (context id)
+#. Documentation/user/keyboards.itely:283 (context id)
#. Documentation/user/percussion.itely:178 (variable)
#. Documentation/user/percussion.itely:366 (variable)
#. input/lsr/jazz-combo-template.ly:247 (variable)
msgid "Formatting cue notes"
msgstr "Formateo de las notas de aviso"
-#. Documentation/user/editorial.itely:325 (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"
msgid "Printing stanzas at the end in multiple columns"
msgstr "Imprimir los versos al final en varias columnas"
-#. Documentation/user/keyboards.itely:183 (comment)
+#. Documentation/user/keyboards.itely:187 (comment)
msgid "keep staff alive"
msgstr "mantener vivo el pentagrama"
-#. Documentation/user/keyboards.itely:266 (context id)
+#. Documentation/user/keyboards.itely:275 (context id)
msgid "melOne"
msgstr "melodiaUno"
-#. Documentation/user/keyboards.itely:335 (context id)
+#. Documentation/user/keyboards.itely:344 (context id)
#. Documentation/user/fretted-strings.itely:244 (context id)
#. input/lsr/adding-fingerings-to-tablatures.ly:17 (variable)
#. input/lsr/jazz-combo-template.ly:205 (context id)
msgid "two"
msgstr "dos"
-#. Documentation/user/keyboards.itely:389 (comment)
+#. Documentation/user/keyboards.itely:398 (comment)
msgid "stems may overlap the other staff"
msgstr "las plicas pueden superponerse al otro pentagrama"
-#. Documentation/user/keyboards.itely:391 (comment)
+#. Documentation/user/keyboards.itely:400 (comment)
msgid "extend the stems to reach other other staff"
msgstr "extender las plicas para que lleguen hasta el otro pentagrama"
-#. Documentation/user/keyboards.itely:393 (comment)
+#. Documentation/user/keyboards.itely:402 (comment)
msgid "do not print extra flags"
msgstr "no imprimir corchetes adicionales"
-#. Documentation/user/keyboards.itely:395 (comment)
+#. Documentation/user/keyboards.itely:404 (comment)
msgid "prevent beaming as needed"
msgstr "evitar el barrado según necesidades"
#. @node in Documentation/user/keyboards.itely
#. @unnumberedsubsubsec in Documentation/user/keyboards.itely
-#, fuzzy
-msgid "Harp notation"
-msgstr "Notación de los pentagramas"
+#. @node in Documentation/es/user/keyboards.itely
+#. @unnumberedsubsubsec in Documentation/es/user/keyboards.itely
+#. @node in Documentation/de/user/keyboards.itely
+#. @unnumberedsubsubsec in Documentation/de/user/keyboards.itely
+msgid "References for harps"
+msgstr "Referencias para notación de arpa"
#. @node in Documentation/user/keyboards.itely
#. @unnumberedsubsubsec in Documentation/user/keyboards.itely
+#. @node in Documentation/es/user/keyboards.itely
+#. @unnumberedsubsubsec in Documentation/es/user/keyboards.itely
#. @node in Documentation/de/user/keyboards.itely
#. @unnumberedsubsubsec in Documentation/de/user/keyboards.itely
-#, fuzzy
msgid "Harp pedals"
-msgstr "Pedales de piano"
+msgstr "Pedales de arpa"
#. @node in Documentation/user/unfretted-strings.itely
#. @section in Documentation/user/unfretted-strings.itely
msgid "A chord for ukelele"
msgstr "Un acorde de ukelele"
-#. Documentation/user/fretted-strings.itely:770 (variable)
-#. Documentation/user/fretted-strings.itely:793 (variable)
-#. Documentation/user/fretted-strings.itely:822 (variable)
-#. Documentation/user/fretted-strings.itely:851 (variable)
-#. Documentation/user/fretted-strings.itely:875 (variable)
-#. Documentation/user/fretted-strings.itely:919 (variable)
+#. Documentation/user/fretted-strings.itely:782 (variable)
+#. Documentation/user/fretted-strings.itely:805 (variable)
+#. 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:937 (variable)
msgid "mychords"
msgstr "misAcordes"
-#. Documentation/user/fretted-strings.itely:797 (variable)
+#. Documentation/user/fretted-strings.itely:809 (variable)
msgid "mychordlist"
msgstr "miListaDeAcordes"
-#. Documentation/user/fretted-strings.itely:906 (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:910 (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"
msgid "Bagpipe example"
msgstr "Ejemplo de música de gaita"
-#. Documentation/user/chords.itely:654 (variable)
+#. Documentation/user/chords.itely:669 (variable)
msgid "myChords"
msgstr "misAcordes"
-#. Documentation/user/chords.itely:984 (comment)
-#. Documentation/user/chords.itely:1005 (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:1068 (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:1080 (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"
#. @rglos in Documentation/user/chords.itely
#. @rglos in Documentation/es/user/chords.itely
+#. @rglos in Documentation/de/user/chords.itely
msgid "figured bass"
msgstr "bajo cifrado"
#. @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
msgid "now they will collide"
msgstr "ahora se producirá la colisión"
-#. Documentation/user/spacing.itely:1788 (comment)
+#. Documentation/user/spacing.itely:1789 (comment)
msgid "the markup is too close to the following note"
msgstr "el marcado está demasiado cerca de la nota siguiente"
-#. Documentation/user/spacing.itely:1791 (comment)
+#. Documentation/user/spacing.itely:1793 (comment)
msgid "setting outside-staff-horizontal-padding fixes this"
msgstr "ajustar outside-staff-horizontal-padding corrige esto"
msgid "third finger"
msgstr "dedo tercero"
-#. 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 "la RehearsalMark se centra sobre la clave"
-#. 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 "la RehearsalMark se centra sobre el compás"
-#. 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 "la RehearsalMark se centra sobre la armadura"
+
+#. Documentation/user/changing-defaults.itely:2994 (comment)
msgid "The RehearsalMark will be centered above the KeySignature"
msgstr "la RehearsalMark se centra sobre la armadura"
-#. 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 "la RehearsalMark se alinea por la izquierda con la armadura"
-#. 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 "la RehearsalMark se alinea por la derecha con la armadura"
-#. 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 "y se desplaza 3.5 espacios a la derecha"
-#. Documentation/user/changing-defaults.itely:2996 (comment)
+#. Documentation/user/changing-defaults.itely:3025 (comment)
msgid "and then shifted left by 2 staff-spaces"
msgstr "y se desplaza 2 espacios a la izquierda"
-#. Documentation/user/changing-defaults.itely:3045 (variable)
+#. Documentation/user/changing-defaults.itely:3073 (variable)
msgid "XinO"
msgstr "X_O"
#. @subsection in Documentation/user/changing-defaults.itely
#. @node in Documentation/es/user/changing-defaults.itely
#. @subsection in Documentation/es/user/changing-defaults.itely
+#. @node in Documentation/de/user/changing-defaults.itely
+#. @subsection in Documentation/de/user/changing-defaults.itely
msgid "Staff symbol properties"
msgstr "Propiedades del símbolo del pentagrama"
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
msgid "Using the @code{spanner-interface}"
msgstr "Uso del @code{spanner-interface}"
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
msgid "Using the @code{line-spanner-interface}"
msgstr "Uso del @code{line-spanner-interface}"
#. @subsection in Documentation/user/changing-defaults.itely
#. @node in Documentation/es/user/changing-defaults.itely
#. @subsection in Documentation/es/user/changing-defaults.itely
+#. @node in Documentation/de/user/changing-defaults.itely
+#. @subsection in Documentation/de/user/changing-defaults.itely
msgid "Visibility of objects"
msgstr "Visibilidad de los objetos"
#. @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 "Rotating layout objects"
msgstr "Rotación de objetos de presentación"
#. @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 "Rotating markup"
msgstr "Rotación de elementos de marcado"
#. @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 "Setting @code{X-offset} and @code{Y-offset} directly"
msgstr "Establecer directamente @code{X-offset} y @code{Y-offset}"
#. @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{side-position-interface}"
msgstr "Uso del @code{side-position-interface}"
#. @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{self-alignment-interface}"
msgstr "Uso del @code{self-alignment-interface}"
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
msgid "Using the @code{aligned-on-parent} procedures"
msgstr "Uso de los procedimientos @code{aligned-on-parent}"
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
msgid "Using the @code{centered-on-parent} procedures"
msgstr "Uso de los procedimientos @code{centered-on-parent}"
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @node in Documentation/es/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
-msgid "Using the @code{break-aligned-interface}"
-msgstr "Uso del @code{break-aligned-interface}"
+msgid "Using the @code{break-alignable-interface}"
+msgstr "Uso del @code{break-alignable-interface}"
#. @node in Documentation/user/changing-defaults.itely
#. @subsection in Documentation/user/changing-defaults.itely
#. @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 "Modifying ties and slurs"
msgstr "Modificación de ligaduras de unión y de expresión"
#. @section in Documentation/user/programming-interface.itely
#. @subsection in Documentation/fr/user/changing-defaults.itely
#. @section in Documentation/es/user/programming-interface.itely
-#. @subsection in Documentation/de/user/programming-interface.itely
+#. @section in Documentation/de/user/programming-interface.itely
msgid "Using Scheme code instead of @code{\\tweak}"
msgstr "Usar código de Scheme en lugar de @code{\\tweak}"
#. @node in Documentation/es/user/programming-interface.itely
#. @section in Documentation/es/user/programming-interface.itely
#. @node in Documentation/de/user/programming-interface.itely
-#. @subsection in Documentation/de/user/programming-interface.itely
+#. @section in Documentation/de/user/programming-interface.itely
msgid "Difficult tweaks"
msgstr "Trucos difíciles"
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}"
msgid "GNU LilyPond -- Programmbenutzung"
msgstr ""
-#. @top in Documentation/de/user/lilypond.tely
-#, fuzzy
-msgid "GNU LilyPond -- Notationsreferenz"
-msgstr "GNU LilyPond: Referencia de la notación"
-
#. @chapheading in Documentation/de/user/lilypond.tely
msgid "Das Notensatzprogramm"
msgstr ""
msgstr ""
#. @node in Documentation/de/user/changing-defaults.itely
-#. @section in Documentation/de/user/changing-defaults.itely
-msgid "Common properties"
-msgstr "Propiedades más usuales"
-
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @subsection in Documentation/de/user/changing-defaults.itely
-msgid "Controlling visibility of objects"
-msgstr "Control de la visibilidad de los objetos"
-
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @subsection in Documentation/de/user/changing-defaults.itely
-msgid "Modifying ends of spanners"
-msgstr "Modificación de los extremos de los extensores"
-
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @section in Documentation/de/user/changing-defaults.itely
-msgid "Discussion of specific tweaks"
-msgstr "Discusión sobre trucos específicos"
-
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @subsection in Documentation/de/user/changing-defaults.itely
-msgid "old Contexts explained"
-msgstr "antiguo Explicación de los contextos"
-
-#. @node in Documentation/de/user/programming-interface.itely
-#. @section in Documentation/de/user/programming-interface.itely
-msgid "TODO moved into scheme"
-msgstr "HACER trasladado al apartado sobre scheme"
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
+msgid "Using the @code{break-aligned-interface}"
+msgstr "Uso del @code{break-aligned-interface}"
#. input/lsr/accordion-discant-symbols.ly:34 (variable)
msgid "discant"
msgid "Test it:"
msgstr "Probarla:"
-#. input/lsr/tick-bar-lines.ly:21 (comment)
-msgid "Use 'bar-size to control the height of the tick,"
-msgstr "Usar 'bar-size para controlar la altura del «tick»,"
-
-#. input/lsr/tick-bar-lines.ly:22 (comment)
-msgid "and 'extra-offset to determine its position."
-msgstr "y 'extra-offset para determinar su posición."
-
-#. input/lsr/tick-bar-lines.ly:24 (comment)
-msgid "With 'extra-offset set to zero, the tick will be"
-msgstr "Con 'extra-offset fijado a cero, el «tick» se centrará"
-
-#. input/lsr/tick-bar-lines.ly:25 (comment)
-msgid "centered around the middle line of the staff."
-msgstr "sobre la línea central del pentagrama."
-
-#. input/lsr/tick-bar-lines.ly:27 (comment)
-msgid "Replace Staff.BarLine with Score.BarLine to"
-msgstr "Sustituya Staff.BarLine con Score.BarLine para"
-
-#. input/lsr/tick-bar-lines.ly:28 (comment)
-msgid "apply the method to the whole score."
-msgstr "aplicar el método a toda la partitura."
-
-#. input/lsr/tick-bar-lines.ly:38 (comment)
-msgid "Revert the overrides to get back a normal"
-msgstr "Revertir las sobreescrituras para volver a tener una"
-
-#. input/lsr/tick-bar-lines.ly:39 (comment)
-msgid "bar line at the end."
-msgstr "barra normal de compás al final."
-
#. input/lsr/transcription-of-ancient-music-with-incipit.ly:127 (variable)
msgid "incipitDiscantus"
msgstr ""
# this is the same translation that babel LaTex package uses . FVD
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-07 23:30+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"
#. Documentation/user/tutorial.itely:1791 (variable)
#. Documentation/user/working.itely:214 (variable)
#. Documentation/user/working.itely:229 (variable)
-#. Documentation/user/pitches.itely:1035 (context id)
+#. Documentation/user/pitches.itely:1078 (context id)
msgid "violin"
msgstr "violon"
#. @rglos in Documentation/es/user/chords.itely
#. @rglos in Documentation/de/user/tutorial.itely
#. @rglos in Documentation/de/user/simultaneous.itely
+#. @rglos in Documentation/de/user/chords.itely
msgid "chord"
msgstr "accord"
#. Documentation/user/vocal.itely:506 (context id)
#. Documentation/user/vocal.itely:1235 (context id)
#. Documentation/user/vocal.itely:1276 (context id)
-#. Documentation/user/keyboards.itely:329 (context id)
+#. Documentation/user/keyboards.itely:338 (context id)
#. Documentation/user/fretted-strings.itely:243 (context id)
#. input/lsr/adding-fingerings-to-tablatures.ly:16 (variable)
#. input/lsr/jazz-combo-template.ly:204 (context id)
#. Documentation/user/fundamental.itely:1242 (variable)
#. Documentation/user/fundamental.itely:2646 (variable)
-#. Documentation/user/tweaks.itely:3469 (variable)
+#. Documentation/user/tweaks.itely:3475 (variable)
#. Documentation/user/simultaneous.itely:788 (variable)
#. Documentation/user/percussion.itely:497 (variable)
#. input/lsr/ancient-notation-template----modern-transcription-of-mensural-music.ly:46 (variable)
msgstr "SopMusique"
#. Documentation/user/fundamental.itely:1298 (variable)
-#. Documentation/user/tweaks.itely:3471 (variable)
+#. Documentation/user/tweaks.itely:3477 (variable)
msgid "AltoMusic"
msgstr "AltoMusique"
#. Documentation/user/fundamental.itely:1299 (variable)
-#. Documentation/user/tweaks.itely:3472 (variable)
+#. Documentation/user/tweaks.itely:3478 (variable)
msgid "TenorMusic"
msgstr "TenorMusique"
#. Documentation/user/fundamental.itely:1300 (variable)
-#. Documentation/user/tweaks.itely:3473 (variable)
+#. Documentation/user/tweaks.itely:3479 (variable)
msgid "BassMusic"
msgstr "BasseMusique"
#. Documentation/user/fundamental.itely:1301 (variable)
-#. Documentation/user/tweaks.itely:3474 (variable)
+#. Documentation/user/tweaks.itely:3480 (variable)
msgid "VerseOne"
msgstr "CoupletUn"
#. Documentation/user/fundamental.itely:1303 (variable)
-#. Documentation/user/tweaks.itely:3475 (variable)
+#. Documentation/user/tweaks.itely:3481 (variable)
msgid "VerseTwo"
msgstr "CoupletDeux"
#. Documentation/user/fundamental.itely:1305 (variable)
-#. Documentation/user/tweaks.itely:3476 (variable)
+#. Documentation/user/tweaks.itely:3482 (variable)
msgid "VerseThree"
msgstr "CoupletTrois"
#. Documentation/user/fundamental.itely:1307 (variable)
-#. Documentation/user/tweaks.itely:3477 (variable)
+#. Documentation/user/tweaks.itely:3483 (variable)
msgid "VerseFour"
msgstr "CoupletQuatre"
msgstr "Sop"
#. Documentation/user/fundamental.itely:1315 (context id)
-#. Documentation/user/tweaks.itely:3484 (context id)
+#. Documentation/user/tweaks.itely:3490 (context id)
#. Documentation/user/input.itely:951 (context id)
msgid "Alto"
msgstr "Alto"
#. Documentation/user/fundamental.itely:1323 (context id)
-#. Documentation/user/tweaks.itely:3492 (context id)
+#. Documentation/user/tweaks.itely:3498 (context id)
#. Documentation/user/input.itely:953 (context id)
msgid "Tenor"
msgstr "Tenor"
#. Documentation/user/fundamental.itely:1324 (context id)
-#. Documentation/user/tweaks.itely:3493 (context id)
+#. Documentation/user/tweaks.itely:3499 (context id)
#. Documentation/user/input.itely:958 (context id)
#. input/lsr/jazz-combo-template.ly:227 (variable)
msgid "Bass"
msgid "Building a score from scratch"
msgstr "Écriture d'une partition à partir de zéro"
-#. Documentation/user/tweaks.itely:596 (comment)
-#. Documentation/user/tweaks.itely:731 (comment)
+#. Documentation/user/tweaks.itely:597 (comment)
+#. Documentation/user/tweaks.itely:732 (comment)
msgid "Increase thickness of all following slurs from 1.2 to 5.0"
msgstr "L'épaisseur de toutes les liaisons à venir passe de 1,2 à 5,0"
-#. Documentation/user/tweaks.itely:665 (comment)
-#. Documentation/user/tweaks.itely:704 (comment)
-#. Documentation/user/tweaks.itely:707 (comment)
+#. Documentation/user/tweaks.itely:666 (comment)
+#. Documentation/user/tweaks.itely:705 (comment)
+#. Documentation/user/tweaks.itely:708 (comment)
msgid "Increase thickness of immediately following slur only"
msgstr "Épaississement de la prochaine liaison seulement"
-#. Documentation/user/tweaks.itely:735 (comment)
+#. Documentation/user/tweaks.itely:736 (comment)
msgid "Revert thickness of all following slurs to default of 1.2"
msgstr "Retour à l'épaisseur par défaut de 1,2 pour les prochaines liaisons"
-#. Documentation/user/tweaks.itely:1395 (comment)
+#. Documentation/user/tweaks.itely:1396 (comment)
msgid "Don't print clefs in this staff"
msgstr "pas de clef pour cette portée"
-#. Documentation/user/tweaks.itely:1397 (comment)
+#. Documentation/user/tweaks.itely:1398 (comment)
msgid "Don't print time signatures in this staff"
msgstr "pas de métrique pour cette portée"
-#. Documentation/user/tweaks.itely:1461 (comment)
+#. Documentation/user/tweaks.itely:1462 (comment)
msgid "Reduce all font sizes by ~24%"
msgstr "Réduction d'environ 24 % de toutes les tailles de fonte"
-#. Documentation/user/tweaks.itely:1527 (comment)
+#. Documentation/user/tweaks.itely:1528 (comment)
msgid "Reduce stem length and line spacing to match"
msgstr ""
"Réduction de la taille des hampes et de l'interligne pour ne pas déborder"
-#. Documentation/user/tweaks.itely:1957 (comment)
-#. Documentation/user/tweaks.itely:2027 (comment)
+#. Documentation/user/tweaks.itely:1958 (comment)
+#. Documentation/user/tweaks.itely:2028 (comment)
msgid "Set details for later Text Spanner"
msgstr "Réglage des détails du texte avec extension"
-#. Documentation/user/tweaks.itely:1960 (comment)
-#. Documentation/user/tweaks.itely:2030 (comment)
+#. Documentation/user/tweaks.itely:1961 (comment)
+#. Documentation/user/tweaks.itely:2031 (comment)
msgid "Place dynamics above staff"
msgstr "Positionnement des nuances au-dessus de la portée"
-#. Documentation/user/tweaks.itely:1962 (comment)
-#. Documentation/user/tweaks.itely:2034 (comment)
+#. Documentation/user/tweaks.itely:1963 (comment)
+#. Documentation/user/tweaks.itely:2035 (comment)
msgid "Start Ottava Bracket"
msgstr "Début du crochet d'octavation"
-#. Documentation/user/tweaks.itely:1965 (comment)
-#. Documentation/user/tweaks.itely:1972 (comment)
-#. Documentation/user/tweaks.itely:2037 (comment)
-#. Documentation/user/tweaks.itely:2044 (comment)
+#. Documentation/user/tweaks.itely:1966 (comment)
+#. Documentation/user/tweaks.itely:1973 (comment)
+#. Documentation/user/tweaks.itely:2038 (comment)
+#. Documentation/user/tweaks.itely:2045 (comment)
msgid "Add Dynamic Text"
msgstr "Ajout d'une nuance textuelle"
-#. Documentation/user/tweaks.itely:1967 (comment)
-#. Documentation/user/tweaks.itely:2039 (comment)
+#. Documentation/user/tweaks.itely:1968 (comment)
+#. Documentation/user/tweaks.itely:2040 (comment)
msgid "Add Dynamic Line Spanner"
msgstr "Ajout d'une nuance graphique"
-#. Documentation/user/tweaks.itely:1969 (comment)
-#. Documentation/user/tweaks.itely:2041 (comment)
+#. Documentation/user/tweaks.itely:1970 (comment)
+#. Documentation/user/tweaks.itely:2042 (comment)
msgid "Add Text Script"
msgstr "Ajout d'un commentaire textuel"
-#. Documentation/user/tweaks.itely:1974 (comment)
-#. Documentation/user/tweaks.itely:2046 (comment)
+#. Documentation/user/tweaks.itely:1975 (comment)
+#. Documentation/user/tweaks.itely:2047 (comment)
msgid "Stop Ottava Bracket"
msgstr "Fin du crochet d'octavation"
-#. Documentation/user/tweaks.itely:2032 (comment)
+#. Documentation/user/tweaks.itely:2033 (comment)
msgid "Place following Ottava Bracket below Text Spanners"
msgstr "Positionnement du crochet d'octavation sous le texte avec extension"
-#. Documentation/user/tweaks.itely:2094 (comment)
+#. Documentation/user/tweaks.itely:2095 (comment)
msgid "Cause notes to space out to accommodate text"
msgstr "Force les notes à s'espacer selon le texte"
-#. Documentation/user/tweaks.itely:2117 (comment)
+#. Documentation/user/tweaks.itely:2118 (comment)
msgid "This markup is short enough to fit without collision"
msgstr "Ce morceau de texte est assez court pour ne pas faire de collision"
-#. Documentation/user/tweaks.itely:2121 (comment)
+#. Documentation/user/tweaks.itely:2122 (comment)
msgid "This is too long to fit, so it is displaced upwards"
msgstr "Celui-ci est trop long pour tenir, il est déplacé vers le haut"
-#. Documentation/user/tweaks.itely:2125 (comment)
-#. Documentation/user/tweaks.itely:2130 (comment)
+#. Documentation/user/tweaks.itely:2126 (comment)
+#. Documentation/user/tweaks.itely:2131 (comment)
msgid "Turn off collision avoidance"
msgstr "Désactivation du processus d'évitement de collision"
-#. Documentation/user/tweaks.itely:2132 (comment)
+#. Documentation/user/tweaks.itely:2133 (comment)
msgid "and turn on textLengthOn"
msgstr "activation de textLengthOn"
-#. Documentation/user/tweaks.itely:2133 (comment)
+#. Documentation/user/tweaks.itely:2134 (comment)
msgid "Spaces at end are honored"
msgstr "Les espaces de la fin sont pris en compte"
-#. Documentation/user/tweaks.itely:2240 (comment)
+#. Documentation/user/tweaks.itely:2241 (comment)
msgid "Extend width by 1 staff space"
msgstr "Élargissement d'un espace"
-#. Documentation/user/tweaks.itely:2523 (comment)
+#. Documentation/user/tweaks.itely:2524 (comment)
msgid "This will not work, see below:"
msgstr "La commande suivante est sans résultat ; voir plus loin."
-#. Documentation/user/tweaks.itely:2527 (comment)
+#. Documentation/user/tweaks.itely:2528 (comment)
msgid "This works:"
msgstr "Celle-ci produit le résultat escompté"
-#. Documentation/user/tweaks.itely:2578 (variable)
+#. Documentation/user/tweaks.itely:2579 (variable)
msgid "naturalplusflat"
msgstr "becarreplusbemol"
-#. Documentation/user/tweaks.itely:2619 (comment)
+#. Documentation/user/tweaks.itely:2620 (comment)
msgid "Extend width by 1 unit"
msgstr "Élargissement d'une unité"
-#. Documentation/user/tweaks.itely:2621 (comment)
+#. Documentation/user/tweaks.itely:2622 (comment)
msgid "Align dynamics to a base line 2 units above staff"
msgstr ""
"Alignement des nuances sur une ligne de base à 2 unités au-dessus de la "
"portée"
-#. Documentation/user/tweaks.itely:2925 (variable)
-#. Documentation/user/tweaks.itely:2974 (variable)
-#. Documentation/user/tweaks.itely:3035 (variable)
-#. Documentation/user/tweaks.itely:3105 (variable)
-#. Documentation/user/tweaks.itely:3170 (variable)
-#. Documentation/user/tweaks.itely:3230 (variable)
+#. Documentation/user/tweaks.itely:2926 (variable)
+#. Documentation/user/tweaks.itely:2975 (variable)
+#. Documentation/user/tweaks.itely:3036 (variable)
+#. Documentation/user/tweaks.itely:3106 (variable)
+#. Documentation/user/tweaks.itely:3171 (variable)
+#. Documentation/user/tweaks.itely:3231 (variable)
msgid "rhMusic"
msgstr "mdMusique"
-#. Documentation/user/tweaks.itely:2930 (comment)
-#. Documentation/user/tweaks.itely:2979 (comment)
-#. Documentation/user/tweaks.itely:3042 (comment)
-#. Documentation/user/tweaks.itely:3114 (comment)
-#. Documentation/user/tweaks.itely:3179 (comment)
+#. Documentation/user/tweaks.itely:2931 (comment)
+#. Documentation/user/tweaks.itely:2980 (comment)
+#. Documentation/user/tweaks.itely:3043 (comment)
+#. Documentation/user/tweaks.itely:3115 (comment)
+#. Documentation/user/tweaks.itely:3180 (comment)
msgid "Start polyphonic section of four voices"
msgstr "Début d'une section polyphonique de quatre voix"
-#. Documentation/user/tweaks.itely:2943 (variable)
-#. Documentation/user/tweaks.itely:2992 (variable)
-#. Documentation/user/tweaks.itely:3055 (variable)
-#. Documentation/user/tweaks.itely:3129 (variable)
-#. Documentation/user/tweaks.itely:3196 (variable)
-#. Documentation/user/tweaks.itely:3258 (variable)
+#. Documentation/user/tweaks.itely:2944 (variable)
+#. Documentation/user/tweaks.itely:2993 (variable)
+#. Documentation/user/tweaks.itely:3056 (variable)
+#. Documentation/user/tweaks.itely:3130 (variable)
+#. Documentation/user/tweaks.itely:3197 (variable)
+#. Documentation/user/tweaks.itely:3259 (variable)
msgid "lhMusic"
msgstr "mgMusique"
-#. Documentation/user/tweaks.itely:2952 (context id)
-#. Documentation/user/tweaks.itely:3001 (context id)
-#. Documentation/user/tweaks.itely:3064 (context id)
-#. Documentation/user/tweaks.itely:3138 (context id)
-#. Documentation/user/tweaks.itely:3205 (context id)
-#. Documentation/user/tweaks.itely:3267 (context id)
+#. Documentation/user/tweaks.itely:2953 (context id)
+#. Documentation/user/tweaks.itely:3002 (context id)
+#. Documentation/user/tweaks.itely:3065 (context id)
+#. Documentation/user/tweaks.itely:3139 (context id)
+#. Documentation/user/tweaks.itely:3206 (context id)
+#. Documentation/user/tweaks.itely:3268 (context id)
#. Documentation/user/input.itely:964 (context id)
msgid "RH"
msgstr "MD"
-#. Documentation/user/tweaks.itely:2956 (context id)
-#. Documentation/user/tweaks.itely:3005 (context id)
-#. Documentation/user/tweaks.itely:3068 (context id)
-#. Documentation/user/tweaks.itely:3142 (context id)
-#. Documentation/user/tweaks.itely:3209 (context id)
-#. Documentation/user/tweaks.itely:3271 (context id)
+#. Documentation/user/tweaks.itely:2957 (context id)
+#. Documentation/user/tweaks.itely:3006 (context id)
+#. Documentation/user/tweaks.itely:3069 (context id)
+#. Documentation/user/tweaks.itely:3143 (context id)
+#. Documentation/user/tweaks.itely:3210 (context id)
+#. Documentation/user/tweaks.itely:3272 (context id)
#. Documentation/user/input.itely:970 (context id)
msgid "LH"
msgstr "MG"
-#. Documentation/user/tweaks.itely:3183 (comment)
-#. Documentation/user/tweaks.itely:3245 (comment)
+#. Documentation/user/tweaks.itely:3184 (comment)
+#. Documentation/user/tweaks.itely:3246 (comment)
msgid "Move the c2 out of the main note column so the merge will work"
msgstr "Déplace le do2 pour que la fusion puisse fonctionner"
-#. Documentation/user/tweaks.itely:3186 (comment)
-#. Documentation/user/tweaks.itely:3248 (comment)
+#. Documentation/user/tweaks.itely:3187 (comment)
+#. Documentation/user/tweaks.itely:3249 (comment)
msgid "Stem on the d2 must be down to permit merging"
msgstr "La hampe du ré2 ira vers le bas pour permettre la fusion"
-#. Documentation/user/tweaks.itely:3243 (comment)
+#. Documentation/user/tweaks.itely:3244 (comment)
msgid "Reposition the c2 to the right of the merged note"
msgstr "Repositionnement du do2 à droite de la note fusionnée"
-#. Documentation/user/tweaks.itely:3379 (comment)
-#. Documentation/user/tweaks.itely:3401 (comment)
+#. Documentation/user/tweaks.itely:3380 (comment)
+#. Documentation/user/tweaks.itely:3402 (comment)
msgid "Visible tempo marking"
msgstr "Indication de tempo visible"
-#. Documentation/user/tweaks.itely:3383 (comment)
-#. Documentation/user/tweaks.itely:3405 (comment)
+#. Documentation/user/tweaks.itely:3384 (comment)
+#. Documentation/user/tweaks.itely:3406 (comment)
msgid "Invisible tempo marking to lengthen fermata in MIDI"
msgstr "Indication de tempo invisible ; utilisée pour le MIDI"
-#. Documentation/user/tweaks.itely:3386 (comment)
-#. Documentation/user/tweaks.itely:3408 (comment)
+#. Documentation/user/tweaks.itely:3387 (comment)
+#. Documentation/user/tweaks.itely:3409 (comment)
msgid "New tempo for next section"
msgstr "Nouveau tempo pour la section suivante"
-#. Documentation/user/tweaks.itely:3460 (variable)
+#. Documentation/user/tweaks.itely:3466 (variable)
msgid "emphasize"
msgstr "emphase"
-#. Documentation/user/tweaks.itely:3464 (variable)
+#. Documentation/user/tweaks.itely:3470 (variable)
msgid "normal"
msgstr "normal"
-#. Documentation/user/tweaks.itely:3470 (variable)
+#. Documentation/user/tweaks.itely:3476 (variable)
msgid "SopranoMusic"
msgstr "sopranoMusique"
-#. Documentation/user/tweaks.itely:3483 (context id)
+#. Documentation/user/tweaks.itely:3489 (context id)
#. Documentation/user/input.itely:949 (context id)
msgid "Soprano"
msgstr "Soprano"
-#. Documentation/user/tweaks.itely:3692 (comment)
+#. Documentation/user/tweaks.itely:3698 (comment)
msgid "Arrange to obtain color from color-notehead procedure"
msgstr "Arranger pour obtenir une couleur par la procédure color-notehead"
#. @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"
msgstr "Génération de fichiers LilyPond"
#. @top in Documentation/user/lilypond.tely
+#. @top in Documentation/de/user/lilypond.tely
msgid "GNU LilyPond --- Notation Reference"
msgstr "GNU LilyPond --- Manuel de notation"
msgid "Musical notation"
msgstr "Notation musicale générale"
-#. Documentation/user/pitches.itely:666 (variable)
+#. Documentation/user/pitches.itely:688 (variable)
#. Documentation/user/input.itely:1033 (variable)
#. Documentation/user/input.itely:1052 (variable)
#. Documentation/user/input.itely:1089 (variable)
msgid "music"
msgstr "musique"
-#. Documentation/user/pitches.itely:1039 (comment)
+#. Documentation/user/pitches.itely:1082 (comment)
msgid "not strictly necessary, but a good reminder"
msgstr "pas strictement nécessaire, mais en pense-bête"
-#. Documentation/user/pitches.itely:1046 (context id)
+#. Documentation/user/pitches.itely:1089 (context id)
#. Documentation/user/staff.itely:1076 (variable)
msgid "clarinet"
msgstr "clarinette"
-#. Documentation/user/pitches.itely:1130 (variable)
+#. Documentation/user/pitches.itely:1174 (variable)
msgid "musicA"
msgstr "musiqueA"
-#. Documentation/user/pitches.itely:1144 (variable)
+#. Documentation/user/pitches.itely:1188 (variable)
msgid "musicB"
msgstr "musiqueB"
-#. Documentation/user/pitches.itely:1163 (context id)
-#. Documentation/user/keyboards.itely:171 (context id)
-#. Documentation/user/keyboards.itely:265 (context id)
+#. Documentation/user/pitches.itely:1207 (context id)
+#. Documentation/user/keyboards.itely:175 (context id)
+#. Documentation/user/keyboards.itely:274 (context id)
#. Documentation/user/percussion.itely:175 (variable)
#. Documentation/user/percussion.itely:365 (variable)
#. input/lsr/jazz-combo-template.ly:241 (variable)
msgid "up"
msgstr "haut"
-#. Documentation/user/pitches.itely:1167 (context id)
-#. Documentation/user/keyboards.itely:181 (context id)
-#. Documentation/user/keyboards.itely:274 (context id)
+#. Documentation/user/pitches.itely:1211 (context id)
+#. Documentation/user/keyboards.itely:185 (context id)
+#. Documentation/user/keyboards.itely:283 (context id)
#. Documentation/user/percussion.itely:178 (variable)
#. Documentation/user/percussion.itely:366 (variable)
#. input/lsr/jazz-combo-template.ly:247 (variable)
msgid "Formatting cue notes"
msgstr "Mise en forme d'une citation"
-#. Documentation/user/editorial.itely:325 (comment)
+#. Documentation/user/editorial.itely:326 (comment)
msgid "this is deliberate nonsense; note that the stems remain black"
msgstr "pour cette erreur manifeste, notez que les hampes restent en noir"
msgid "Printing stanzas at the end in multiple columns"
msgstr "Paroles sur plusieurs colonnes en fin de partition"
-#. Documentation/user/keyboards.itely:183 (comment)
+#. Documentation/user/keyboards.itely:187 (comment)
msgid "keep staff alive"
msgstr "maintient la portée active"
-#. Documentation/user/keyboards.itely:266 (context id)
+#. Documentation/user/keyboards.itely:275 (context id)
msgid "melOne"
msgstr "melodieUn"
-#. Documentation/user/keyboards.itely:335 (context id)
+#. Documentation/user/keyboards.itely:344 (context id)
#. Documentation/user/fretted-strings.itely:244 (context id)
#. input/lsr/adding-fingerings-to-tablatures.ly:17 (variable)
#. input/lsr/jazz-combo-template.ly:205 (context id)
msgid "two"
msgstr "deux"
-#. Documentation/user/keyboards.itely:389 (comment)
+#. Documentation/user/keyboards.itely:398 (comment)
msgid "stems may overlap the other staff"
msgstr "autorise les hampes à déborder sur l'autre portée"
-#. Documentation/user/keyboards.itely:391 (comment)
+#. Documentation/user/keyboards.itely:400 (comment)
msgid "extend the stems to reach other other staff"
msgstr "étend les hampes pour qu'elles atteignent l'autre portée"
-#. Documentation/user/keyboards.itely:393 (comment)
+#. Documentation/user/keyboards.itely:402 (comment)
msgid "do not print extra flags"
msgstr "pas de crochet superflu"
-#. Documentation/user/keyboards.itely:395 (comment)
+#. Documentation/user/keyboards.itely:404 (comment)
msgid "prevent beaming as needed"
msgstr "on empêche la formation de la ligature automatique"
#. @node in Documentation/user/keyboards.itely
#. @unnumberedsubsubsec in Documentation/user/keyboards.itely
+#. @node in Documentation/es/user/keyboards.itely
+#. @unnumberedsubsubsec in Documentation/es/user/keyboards.itely
+#. @node in Documentation/de/user/keyboards.itely
+#. @unnumberedsubsubsec in Documentation/de/user/keyboards.itely
#, fuzzy
-msgid "Harp notation"
-msgstr "Notation sur la portée"
+msgid "References for harps"
+msgstr "Généralités sur les instruments à clavier"
#. @node in Documentation/user/keyboards.itely
#. @unnumberedsubsubsec in Documentation/user/keyboards.itely
+#. @node in Documentation/es/user/keyboards.itely
+#. @unnumberedsubsubsec in Documentation/es/user/keyboards.itely
#. @node in Documentation/de/user/keyboards.itely
#. @unnumberedsubsubsec in Documentation/de/user/keyboards.itely
#, fuzzy
msgid "A chord for ukelele"
msgstr "Un accord pour ukulele"
-#. Documentation/user/fretted-strings.itely:770 (variable)
-#. Documentation/user/fretted-strings.itely:793 (variable)
-#. Documentation/user/fretted-strings.itely:822 (variable)
-#. Documentation/user/fretted-strings.itely:851 (variable)
-#. Documentation/user/fretted-strings.itely:875 (variable)
-#. Documentation/user/fretted-strings.itely:919 (variable)
+#. Documentation/user/fretted-strings.itely:782 (variable)
+#. Documentation/user/fretted-strings.itely:805 (variable)
+#. 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:937 (variable)
msgid "mychords"
msgstr "mesaccords"
-#. Documentation/user/fretted-strings.itely:797 (variable)
+#. Documentation/user/fretted-strings.itely:809 (variable)
msgid "mychordlist"
msgstr "malistedaccords"
-#. Documentation/user/fretted-strings.itely:906 (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:910 (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:654 (variable)
+#. Documentation/user/chords.itely:669 (variable)
msgid "myChords"
msgstr "mesAccords"
-#. Documentation/user/chords.itely:984 (comment)
-#. Documentation/user/chords.itely:1005 (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:1068 (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:1080 (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"
#. @rglos in Documentation/user/chords.itely
#. @rglos in Documentation/es/user/chords.itely
+#. @rglos in Documentation/de/user/chords.itely
msgid "figured bass"
msgstr "basse chiffrée"
msgid "now they will collide"
msgstr "il y a maintenant chevauchement"
-#. Documentation/user/spacing.itely:1788 (comment)
+#. Documentation/user/spacing.itely:1789 (comment)
msgid "the markup is too close to the following note"
msgstr "le texte est trop proche de la note qui suit"
-#. Documentation/user/spacing.itely:1791 (comment)
+#. Documentation/user/spacing.itely:1793 (comment)
msgid "setting outside-staff-horizontal-padding fixes this"
msgstr "définir outside-staff-horizontal-padding règle le problè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"
#. @subsection in Documentation/user/changing-defaults.itely
#. @node in Documentation/es/user/changing-defaults.itely
#. @subsection in Documentation/es/user/changing-defaults.itely
+#. @node in Documentation/de/user/changing-defaults.itely
+#. @subsection in Documentation/de/user/changing-defaults.itely
msgid "Staff symbol properties"
msgstr "Propriétés des lignes de portée"
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
msgid "Using the @code{spanner-interface}"
msgstr "Utilisation de @code{spanner-interface}"
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
msgid "Using the @code{line-spanner-interface}"
msgstr "Utilisation de @code{line-spanner-interface}"
#. @subsection in Documentation/user/changing-defaults.itely
#. @node in Documentation/es/user/changing-defaults.itely
#. @subsection in Documentation/es/user/changing-defaults.itely
+#. @node in Documentation/de/user/changing-defaults.itely
+#. @subsection in Documentation/de/user/changing-defaults.itely
msgid "Visibility of objects"
msgstr "Visibilité des objets"
#. @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 "Rotating layout objects"
msgstr "Rotation des objets de mise en forme"
#. @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 "Rotating markup"
msgstr "Rotation des étiquettes"
#. @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 "Setting @code{X-offset} and @code{Y-offset} directly"
msgstr "Détermination directe de @code{X-offset} et @code{Y-offset}"
#. @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{side-position-interface}"
msgstr "Utilisation de @code{side-position-interface}"
#. @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{self-alignment-interface}"
msgstr "Utilisation de @code{self-alignment-interface}"
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
msgid "Using the @code{aligned-on-parent} procedures"
msgstr "Utilisation des procédures @code{aligned-on-parent}"
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
msgid "Using the @code{centered-on-parent} procedures"
msgstr "Utilisation des procédures @code{centered-on-parent}"
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @node in Documentation/es/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/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
#. @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 "Modifying ties and slurs"
msgstr "Modification des liaisons"
#. @section in Documentation/user/programming-interface.itely
#. @subsection in Documentation/fr/user/changing-defaults.itely
#. @section in Documentation/es/user/programming-interface.itely
-#. @subsection in Documentation/de/user/programming-interface.itely
+#. @section in Documentation/de/user/programming-interface.itely
msgid "Using Scheme code instead of @code{\\tweak}"
msgstr "Utilisation de code Scheme au lieu de @code{\\tweak}"
#. @node in Documentation/es/user/programming-interface.itely
#. @section in Documentation/es/user/programming-interface.itely
#. @node in Documentation/de/user/programming-interface.itely
-#. @subsection in Documentation/de/user/programming-interface.itely
+#. @section in Documentation/de/user/programming-interface.itely
msgid "Difficult tweaks"
msgstr "Retouches complexes"
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 "GNU LilyPond -- Programmbenutzung"
msgstr "GNU LilyPond --- utilisation du programme"
-#. @top in Documentation/de/user/lilypond.tely
-#, fuzzy
-msgid "GNU LilyPond -- Notationsreferenz"
-msgstr "GNU LilyPond --- Manuel de notation"
-
#. @chapheading in Documentation/de/user/lilypond.tely
msgid "Das Notensatzprogramm"
msgstr ""
msgstr "Désactivation du traitement des mélismes"
#. @node in Documentation/de/user/changing-defaults.itely
-#. @section in Documentation/de/user/changing-defaults.itely
-msgid "Common properties"
-msgstr "Propriétés couramment utilisées"
-
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @subsection in Documentation/de/user/changing-defaults.itely
-msgid "Controlling visibility of objects"
-msgstr "Contrôle de la visibilité des objets"
-
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @subsection in Documentation/de/user/changing-defaults.itely
-msgid "Modifying ends of spanners"
-msgstr "Modification de la terminaison des extenseurs"
-
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @section in Documentation/de/user/changing-defaults.itely
-msgid "Discussion of specific tweaks"
-msgstr "Considération de certaines retouches spécifiques"
-
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @subsection in Documentation/de/user/changing-defaults.itely
-msgid "old Contexts explained"
-msgstr "ex Tout savoir sur les contextes"
-
-#. @node in Documentation/de/user/programming-interface.itely
-#. @section in Documentation/de/user/programming-interface.itely
-msgid "TODO moved into scheme"
-msgstr ""
+#. @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 "Test it:"
msgstr "Commentaires textuels"
-#. input/lsr/tick-bar-lines.ly:21 (comment)
-msgid "Use 'bar-size to control the height of the tick,"
-msgstr ""
-
-#. input/lsr/tick-bar-lines.ly:22 (comment)
-msgid "and 'extra-offset to determine its position."
-msgstr ""
-
-#. input/lsr/tick-bar-lines.ly:24 (comment)
-msgid "With 'extra-offset set to zero, the tick will be"
-msgstr ""
-
-#. input/lsr/tick-bar-lines.ly:25 (comment)
-msgid "centered around the middle line of the staff."
-msgstr ""
-
-#. input/lsr/tick-bar-lines.ly:27 (comment)
-msgid "Replace Staff.BarLine with Score.BarLine to"
-msgstr ""
-
-#. input/lsr/tick-bar-lines.ly:28 (comment)
-msgid "apply the method to the whole score."
-msgstr ""
-
-#. input/lsr/tick-bar-lines.ly:38 (comment)
-msgid "Revert the overrides to get back a normal"
-msgstr ""
-
-#. input/lsr/tick-bar-lines.ly:39 (comment)
-msgid "bar line at the end."
-msgstr ""
-
#. input/lsr/transcription-of-ancient-music-with-incipit.ly:127 (variable)
#, fuzzy
msgid "incipitDiscantus"
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"
+
+#, fuzzy
+#~ msgid "GNU LilyPond -- Notationsreferenz"
+#~ msgstr "GNU LilyPond --- Manuel de notation"
+
+#~ msgid "Common properties"
+#~ msgstr "Propriétés couramment utilisées"
+
+#~ msgid "Controlling visibility of objects"
+#~ msgstr "Contrôle de la visibilité des objets"
+
+#~ msgid "Modifying ends of spanners"
+#~ msgstr "Modification de la terminaison des extenseurs"
+
+#~ msgid "Discussion of specific tweaks"
+#~ msgstr "Considération de certaines retouches spécifiques"
+
+#~ msgid "old Contexts explained"
+#~ msgstr "ex Tout savoir sur les contextes"
+
#~ msgid "applies to \\\"fas\\\""
#~ msgstr "s'applique à \\\"fas\\\""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-12-07 23:30+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"
#. Documentation/user/tutorial.itely:1791 (variable)
#. Documentation/user/working.itely:214 (variable)
#. Documentation/user/working.itely:229 (variable)
-#. Documentation/user/pitches.itely:1035 (context id)
+#. Documentation/user/pitches.itely:1078 (context id)
msgid "violin"
msgstr ""
#. @rglos in Documentation/es/user/chords.itely
#. @rglos in Documentation/de/user/tutorial.itely
#. @rglos in Documentation/de/user/simultaneous.itely
+#. @rglos in Documentation/de/user/chords.itely
msgid "chord"
msgstr ""
#. Documentation/user/vocal.itely:506 (context id)
#. Documentation/user/vocal.itely:1235 (context id)
#. Documentation/user/vocal.itely:1276 (context id)
-#. Documentation/user/keyboards.itely:329 (context id)
+#. Documentation/user/keyboards.itely:338 (context id)
#. Documentation/user/fretted-strings.itely:243 (context id)
#. input/lsr/adding-fingerings-to-tablatures.ly:16 (variable)
#. input/lsr/jazz-combo-template.ly:204 (context id)
#. Documentation/user/fundamental.itely:1242 (variable)
#. Documentation/user/fundamental.itely:2646 (variable)
-#. Documentation/user/tweaks.itely:3469 (variable)
+#. Documentation/user/tweaks.itely:3475 (variable)
#. Documentation/user/simultaneous.itely:788 (variable)
#. Documentation/user/percussion.itely:497 (variable)
#. input/lsr/ancient-notation-template----modern-transcription-of-mensural-music.ly:46 (variable)
msgstr ""
#. Documentation/user/fundamental.itely:1298 (variable)
-#. Documentation/user/tweaks.itely:3471 (variable)
+#. Documentation/user/tweaks.itely:3477 (variable)
msgid "AltoMusic"
msgstr ""
#. Documentation/user/fundamental.itely:1299 (variable)
-#. Documentation/user/tweaks.itely:3472 (variable)
+#. Documentation/user/tweaks.itely:3478 (variable)
msgid "TenorMusic"
msgstr ""
#. Documentation/user/fundamental.itely:1300 (variable)
-#. Documentation/user/tweaks.itely:3473 (variable)
+#. Documentation/user/tweaks.itely:3479 (variable)
msgid "BassMusic"
msgstr ""
#. Documentation/user/fundamental.itely:1301 (variable)
-#. Documentation/user/tweaks.itely:3474 (variable)
+#. Documentation/user/tweaks.itely:3480 (variable)
msgid "VerseOne"
msgstr ""
#. Documentation/user/fundamental.itely:1303 (variable)
-#. Documentation/user/tweaks.itely:3475 (variable)
+#. Documentation/user/tweaks.itely:3481 (variable)
msgid "VerseTwo"
msgstr ""
#. Documentation/user/fundamental.itely:1305 (variable)
-#. Documentation/user/tweaks.itely:3476 (variable)
+#. Documentation/user/tweaks.itely:3482 (variable)
msgid "VerseThree"
msgstr ""
#. Documentation/user/fundamental.itely:1307 (variable)
-#. Documentation/user/tweaks.itely:3477 (variable)
+#. Documentation/user/tweaks.itely:3483 (variable)
msgid "VerseFour"
msgstr ""
msgstr ""
#. Documentation/user/fundamental.itely:1315 (context id)
-#. Documentation/user/tweaks.itely:3484 (context id)
+#. Documentation/user/tweaks.itely:3490 (context id)
#. Documentation/user/input.itely:951 (context id)
msgid "Alto"
msgstr ""
#. Documentation/user/fundamental.itely:1323 (context id)
-#. Documentation/user/tweaks.itely:3492 (context id)
+#. Documentation/user/tweaks.itely:3498 (context id)
#. Documentation/user/input.itely:953 (context id)
msgid "Tenor"
msgstr ""
#. Documentation/user/fundamental.itely:1324 (context id)
-#. Documentation/user/tweaks.itely:3493 (context id)
+#. Documentation/user/tweaks.itely:3499 (context id)
#. Documentation/user/input.itely:958 (context id)
#. input/lsr/jazz-combo-template.ly:227 (variable)
msgid "Bass"
msgid "Building a score from scratch"
msgstr ""
-#. Documentation/user/tweaks.itely:596 (comment)
-#. Documentation/user/tweaks.itely:731 (comment)
+#. Documentation/user/tweaks.itely:597 (comment)
+#. Documentation/user/tweaks.itely:732 (comment)
msgid "Increase thickness of all following slurs from 1.2 to 5.0"
msgstr ""
-#. Documentation/user/tweaks.itely:665 (comment)
-#. Documentation/user/tweaks.itely:704 (comment)
-#. Documentation/user/tweaks.itely:707 (comment)
+#. Documentation/user/tweaks.itely:666 (comment)
+#. Documentation/user/tweaks.itely:705 (comment)
+#. Documentation/user/tweaks.itely:708 (comment)
msgid "Increase thickness of immediately following slur only"
msgstr ""
-#. Documentation/user/tweaks.itely:735 (comment)
+#. Documentation/user/tweaks.itely:736 (comment)
msgid "Revert thickness of all following slurs to default of 1.2"
msgstr ""
-#. Documentation/user/tweaks.itely:1395 (comment)
+#. Documentation/user/tweaks.itely:1396 (comment)
msgid "Don't print clefs in this staff"
msgstr ""
-#. Documentation/user/tweaks.itely:1397 (comment)
+#. Documentation/user/tweaks.itely:1398 (comment)
msgid "Don't print time signatures in this staff"
msgstr ""
-#. Documentation/user/tweaks.itely:1461 (comment)
+#. Documentation/user/tweaks.itely:1462 (comment)
msgid "Reduce all font sizes by ~24%"
msgstr ""
-#. Documentation/user/tweaks.itely:1527 (comment)
+#. Documentation/user/tweaks.itely:1528 (comment)
msgid "Reduce stem length and line spacing to match"
msgstr ""
-#. Documentation/user/tweaks.itely:1957 (comment)
-#. Documentation/user/tweaks.itely:2027 (comment)
+#. Documentation/user/tweaks.itely:1958 (comment)
+#. Documentation/user/tweaks.itely:2028 (comment)
msgid "Set details for later Text Spanner"
msgstr ""
-#. Documentation/user/tweaks.itely:1960 (comment)
-#. Documentation/user/tweaks.itely:2030 (comment)
+#. Documentation/user/tweaks.itely:1961 (comment)
+#. Documentation/user/tweaks.itely:2031 (comment)
msgid "Place dynamics above staff"
msgstr ""
-#. Documentation/user/tweaks.itely:1962 (comment)
-#. Documentation/user/tweaks.itely:2034 (comment)
+#. Documentation/user/tweaks.itely:1963 (comment)
+#. Documentation/user/tweaks.itely:2035 (comment)
msgid "Start Ottava Bracket"
msgstr ""
-#. Documentation/user/tweaks.itely:1965 (comment)
-#. Documentation/user/tweaks.itely:1972 (comment)
-#. Documentation/user/tweaks.itely:2037 (comment)
-#. Documentation/user/tweaks.itely:2044 (comment)
+#. Documentation/user/tweaks.itely:1966 (comment)
+#. Documentation/user/tweaks.itely:1973 (comment)
+#. Documentation/user/tweaks.itely:2038 (comment)
+#. Documentation/user/tweaks.itely:2045 (comment)
msgid "Add Dynamic Text"
msgstr ""
-#. Documentation/user/tweaks.itely:1967 (comment)
-#. Documentation/user/tweaks.itely:2039 (comment)
+#. Documentation/user/tweaks.itely:1968 (comment)
+#. Documentation/user/tweaks.itely:2040 (comment)
msgid "Add Dynamic Line Spanner"
msgstr ""
-#. Documentation/user/tweaks.itely:1969 (comment)
-#. Documentation/user/tweaks.itely:2041 (comment)
+#. Documentation/user/tweaks.itely:1970 (comment)
+#. Documentation/user/tweaks.itely:2042 (comment)
msgid "Add Text Script"
msgstr ""
-#. Documentation/user/tweaks.itely:1974 (comment)
-#. Documentation/user/tweaks.itely:2046 (comment)
+#. Documentation/user/tweaks.itely:1975 (comment)
+#. Documentation/user/tweaks.itely:2047 (comment)
msgid "Stop Ottava Bracket"
msgstr ""
-#. Documentation/user/tweaks.itely:2032 (comment)
+#. Documentation/user/tweaks.itely:2033 (comment)
msgid "Place following Ottava Bracket below Text Spanners"
msgstr ""
-#. Documentation/user/tweaks.itely:2094 (comment)
+#. Documentation/user/tweaks.itely:2095 (comment)
msgid "Cause notes to space out to accommodate text"
msgstr ""
-#. Documentation/user/tweaks.itely:2117 (comment)
+#. Documentation/user/tweaks.itely:2118 (comment)
msgid "This markup is short enough to fit without collision"
msgstr ""
-#. Documentation/user/tweaks.itely:2121 (comment)
+#. Documentation/user/tweaks.itely:2122 (comment)
msgid "This is too long to fit, so it is displaced upwards"
msgstr ""
-#. Documentation/user/tweaks.itely:2125 (comment)
-#. Documentation/user/tweaks.itely:2130 (comment)
+#. Documentation/user/tweaks.itely:2126 (comment)
+#. Documentation/user/tweaks.itely:2131 (comment)
msgid "Turn off collision avoidance"
msgstr ""
-#. Documentation/user/tweaks.itely:2132 (comment)
+#. Documentation/user/tweaks.itely:2133 (comment)
msgid "and turn on textLengthOn"
msgstr ""
-#. Documentation/user/tweaks.itely:2133 (comment)
+#. Documentation/user/tweaks.itely:2134 (comment)
msgid "Spaces at end are honored"
msgstr ""
-#. Documentation/user/tweaks.itely:2240 (comment)
+#. Documentation/user/tweaks.itely:2241 (comment)
msgid "Extend width by 1 staff space"
msgstr ""
-#. Documentation/user/tweaks.itely:2523 (comment)
+#. Documentation/user/tweaks.itely:2524 (comment)
msgid "This will not work, see below:"
msgstr ""
-#. Documentation/user/tweaks.itely:2527 (comment)
+#. Documentation/user/tweaks.itely:2528 (comment)
msgid "This works:"
msgstr ""
-#. Documentation/user/tweaks.itely:2578 (variable)
+#. Documentation/user/tweaks.itely:2579 (variable)
msgid "naturalplusflat"
msgstr ""
-#. Documentation/user/tweaks.itely:2619 (comment)
+#. Documentation/user/tweaks.itely:2620 (comment)
msgid "Extend width by 1 unit"
msgstr ""
-#. Documentation/user/tweaks.itely:2621 (comment)
+#. Documentation/user/tweaks.itely:2622 (comment)
msgid "Align dynamics to a base line 2 units above staff"
msgstr ""
-#. Documentation/user/tweaks.itely:2925 (variable)
-#. Documentation/user/tweaks.itely:2974 (variable)
-#. Documentation/user/tweaks.itely:3035 (variable)
-#. Documentation/user/tweaks.itely:3105 (variable)
-#. Documentation/user/tweaks.itely:3170 (variable)
-#. Documentation/user/tweaks.itely:3230 (variable)
+#. Documentation/user/tweaks.itely:2926 (variable)
+#. Documentation/user/tweaks.itely:2975 (variable)
+#. Documentation/user/tweaks.itely:3036 (variable)
+#. Documentation/user/tweaks.itely:3106 (variable)
+#. Documentation/user/tweaks.itely:3171 (variable)
+#. Documentation/user/tweaks.itely:3231 (variable)
msgid "rhMusic"
msgstr ""
-#. Documentation/user/tweaks.itely:2930 (comment)
-#. Documentation/user/tweaks.itely:2979 (comment)
-#. Documentation/user/tweaks.itely:3042 (comment)
-#. Documentation/user/tweaks.itely:3114 (comment)
-#. Documentation/user/tweaks.itely:3179 (comment)
+#. Documentation/user/tweaks.itely:2931 (comment)
+#. Documentation/user/tweaks.itely:2980 (comment)
+#. Documentation/user/tweaks.itely:3043 (comment)
+#. Documentation/user/tweaks.itely:3115 (comment)
+#. Documentation/user/tweaks.itely:3180 (comment)
msgid "Start polyphonic section of four voices"
msgstr ""
-#. Documentation/user/tweaks.itely:2943 (variable)
-#. Documentation/user/tweaks.itely:2992 (variable)
-#. Documentation/user/tweaks.itely:3055 (variable)
-#. Documentation/user/tweaks.itely:3129 (variable)
-#. Documentation/user/tweaks.itely:3196 (variable)
-#. Documentation/user/tweaks.itely:3258 (variable)
+#. Documentation/user/tweaks.itely:2944 (variable)
+#. Documentation/user/tweaks.itely:2993 (variable)
+#. Documentation/user/tweaks.itely:3056 (variable)
+#. Documentation/user/tweaks.itely:3130 (variable)
+#. Documentation/user/tweaks.itely:3197 (variable)
+#. Documentation/user/tweaks.itely:3259 (variable)
msgid "lhMusic"
msgstr ""
-#. Documentation/user/tweaks.itely:2952 (context id)
-#. Documentation/user/tweaks.itely:3001 (context id)
-#. Documentation/user/tweaks.itely:3064 (context id)
-#. Documentation/user/tweaks.itely:3138 (context id)
-#. Documentation/user/tweaks.itely:3205 (context id)
-#. Documentation/user/tweaks.itely:3267 (context id)
+#. Documentation/user/tweaks.itely:2953 (context id)
+#. Documentation/user/tweaks.itely:3002 (context id)
+#. Documentation/user/tweaks.itely:3065 (context id)
+#. Documentation/user/tweaks.itely:3139 (context id)
+#. Documentation/user/tweaks.itely:3206 (context id)
+#. Documentation/user/tweaks.itely:3268 (context id)
#. Documentation/user/input.itely:964 (context id)
msgid "RH"
msgstr ""
-#. Documentation/user/tweaks.itely:2956 (context id)
-#. Documentation/user/tweaks.itely:3005 (context id)
-#. Documentation/user/tweaks.itely:3068 (context id)
-#. Documentation/user/tweaks.itely:3142 (context id)
-#. Documentation/user/tweaks.itely:3209 (context id)
-#. Documentation/user/tweaks.itely:3271 (context id)
+#. Documentation/user/tweaks.itely:2957 (context id)
+#. Documentation/user/tweaks.itely:3006 (context id)
+#. Documentation/user/tweaks.itely:3069 (context id)
+#. Documentation/user/tweaks.itely:3143 (context id)
+#. Documentation/user/tweaks.itely:3210 (context id)
+#. Documentation/user/tweaks.itely:3272 (context id)
#. Documentation/user/input.itely:970 (context id)
msgid "LH"
msgstr ""
-#. Documentation/user/tweaks.itely:3183 (comment)
-#. Documentation/user/tweaks.itely:3245 (comment)
+#. Documentation/user/tweaks.itely:3184 (comment)
+#. Documentation/user/tweaks.itely:3246 (comment)
msgid "Move the c2 out of the main note column so the merge will work"
msgstr ""
-#. Documentation/user/tweaks.itely:3186 (comment)
-#. Documentation/user/tweaks.itely:3248 (comment)
+#. Documentation/user/tweaks.itely:3187 (comment)
+#. Documentation/user/tweaks.itely:3249 (comment)
msgid "Stem on the d2 must be down to permit merging"
msgstr ""
-#. Documentation/user/tweaks.itely:3243 (comment)
+#. Documentation/user/tweaks.itely:3244 (comment)
msgid "Reposition the c2 to the right of the merged note"
msgstr ""
-#. Documentation/user/tweaks.itely:3379 (comment)
-#. Documentation/user/tweaks.itely:3401 (comment)
+#. Documentation/user/tweaks.itely:3380 (comment)
+#. Documentation/user/tweaks.itely:3402 (comment)
msgid "Visible tempo marking"
msgstr ""
-#. Documentation/user/tweaks.itely:3383 (comment)
-#. Documentation/user/tweaks.itely:3405 (comment)
+#. Documentation/user/tweaks.itely:3384 (comment)
+#. Documentation/user/tweaks.itely:3406 (comment)
msgid "Invisible tempo marking to lengthen fermata in MIDI"
msgstr ""
-#. Documentation/user/tweaks.itely:3386 (comment)
-#. Documentation/user/tweaks.itely:3408 (comment)
+#. Documentation/user/tweaks.itely:3387 (comment)
+#. Documentation/user/tweaks.itely:3409 (comment)
msgid "New tempo for next section"
msgstr ""
-#. Documentation/user/tweaks.itely:3460 (variable)
+#. Documentation/user/tweaks.itely:3466 (variable)
msgid "emphasize"
msgstr ""
-#. Documentation/user/tweaks.itely:3464 (variable)
+#. Documentation/user/tweaks.itely:3470 (variable)
msgid "normal"
msgstr ""
-#. Documentation/user/tweaks.itely:3470 (variable)
+#. Documentation/user/tweaks.itely:3476 (variable)
msgid "SopranoMusic"
msgstr ""
-#. Documentation/user/tweaks.itely:3483 (context id)
+#. Documentation/user/tweaks.itely:3489 (context id)
#. Documentation/user/input.itely:949 (context id)
msgid "Soprano"
msgstr ""
-#. Documentation/user/tweaks.itely:3692 (comment)
+#. Documentation/user/tweaks.itely:3698 (comment)
msgid "Arrange to obtain color from color-notehead procedure"
msgstr ""
#. @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"
msgstr ""
#. @top in Documentation/user/lilypond.tely
+#. @top in Documentation/de/user/lilypond.tely
msgid "GNU LilyPond --- Notation Reference"
msgstr ""
msgid "Musical notation"
msgstr ""
-#. Documentation/user/pitches.itely:666 (variable)
+#. Documentation/user/pitches.itely:688 (variable)
#. Documentation/user/input.itely:1033 (variable)
#. Documentation/user/input.itely:1052 (variable)
#. Documentation/user/input.itely:1089 (variable)
msgid "music"
msgstr ""
-#. Documentation/user/pitches.itely:1039 (comment)
+#. Documentation/user/pitches.itely:1082 (comment)
msgid "not strictly necessary, but a good reminder"
msgstr ""
-#. Documentation/user/pitches.itely:1046 (context id)
+#. Documentation/user/pitches.itely:1089 (context id)
#. Documentation/user/staff.itely:1076 (variable)
msgid "clarinet"
msgstr ""
-#. Documentation/user/pitches.itely:1130 (variable)
+#. Documentation/user/pitches.itely:1174 (variable)
msgid "musicA"
msgstr ""
-#. Documentation/user/pitches.itely:1144 (variable)
+#. Documentation/user/pitches.itely:1188 (variable)
msgid "musicB"
msgstr ""
-#. Documentation/user/pitches.itely:1163 (context id)
-#. Documentation/user/keyboards.itely:171 (context id)
-#. Documentation/user/keyboards.itely:265 (context id)
+#. Documentation/user/pitches.itely:1207 (context id)
+#. Documentation/user/keyboards.itely:175 (context id)
+#. Documentation/user/keyboards.itely:274 (context id)
#. Documentation/user/percussion.itely:175 (variable)
#. Documentation/user/percussion.itely:365 (variable)
#. input/lsr/jazz-combo-template.ly:241 (variable)
msgid "up"
msgstr ""
-#. Documentation/user/pitches.itely:1167 (context id)
-#. Documentation/user/keyboards.itely:181 (context id)
-#. Documentation/user/keyboards.itely:274 (context id)
+#. Documentation/user/pitches.itely:1211 (context id)
+#. Documentation/user/keyboards.itely:185 (context id)
+#. Documentation/user/keyboards.itely:283 (context id)
#. Documentation/user/percussion.itely:178 (variable)
#. Documentation/user/percussion.itely:366 (variable)
#. input/lsr/jazz-combo-template.ly:247 (variable)
msgid "Formatting cue notes"
msgstr ""
-#. Documentation/user/editorial.itely:325 (comment)
+#. Documentation/user/editorial.itely:326 (comment)
msgid "this is deliberate nonsense; note that the stems remain black"
msgstr ""
msgid "Printing stanzas at the end in multiple columns"
msgstr ""
-#. Documentation/user/keyboards.itely:183 (comment)
+#. Documentation/user/keyboards.itely:187 (comment)
msgid "keep staff alive"
msgstr ""
-#. Documentation/user/keyboards.itely:266 (context id)
+#. Documentation/user/keyboards.itely:275 (context id)
msgid "melOne"
msgstr ""
-#. Documentation/user/keyboards.itely:335 (context id)
+#. Documentation/user/keyboards.itely:344 (context id)
#. Documentation/user/fretted-strings.itely:244 (context id)
#. input/lsr/adding-fingerings-to-tablatures.ly:17 (variable)
#. input/lsr/jazz-combo-template.ly:205 (context id)
msgid "two"
msgstr ""
-#. Documentation/user/keyboards.itely:389 (comment)
+#. Documentation/user/keyboards.itely:398 (comment)
msgid "stems may overlap the other staff"
msgstr ""
-#. Documentation/user/keyboards.itely:391 (comment)
+#. Documentation/user/keyboards.itely:400 (comment)
msgid "extend the stems to reach other other staff"
msgstr ""
-#. Documentation/user/keyboards.itely:393 (comment)
+#. Documentation/user/keyboards.itely:402 (comment)
msgid "do not print extra flags"
msgstr ""
-#. Documentation/user/keyboards.itely:395 (comment)
+#. Documentation/user/keyboards.itely:404 (comment)
msgid "prevent beaming as needed"
msgstr ""
#. @node in Documentation/user/keyboards.itely
#. @unnumberedsubsubsec in Documentation/user/keyboards.itely
-msgid "Harp notation"
+#. @node in Documentation/es/user/keyboards.itely
+#. @unnumberedsubsubsec in Documentation/es/user/keyboards.itely
+#. @node in Documentation/de/user/keyboards.itely
+#. @unnumberedsubsubsec in Documentation/de/user/keyboards.itely
+msgid "References for harps"
msgstr ""
#. @node in Documentation/user/keyboards.itely
#. @unnumberedsubsubsec in Documentation/user/keyboards.itely
+#. @node in Documentation/es/user/keyboards.itely
+#. @unnumberedsubsubsec in Documentation/es/user/keyboards.itely
#. @node in Documentation/de/user/keyboards.itely
#. @unnumberedsubsubsec in Documentation/de/user/keyboards.itely
msgid "Harp pedals"
msgid "A chord for ukelele"
msgstr ""
-#. Documentation/user/fretted-strings.itely:770 (variable)
-#. Documentation/user/fretted-strings.itely:793 (variable)
-#. Documentation/user/fretted-strings.itely:822 (variable)
-#. Documentation/user/fretted-strings.itely:851 (variable)
-#. Documentation/user/fretted-strings.itely:875 (variable)
-#. Documentation/user/fretted-strings.itely:919 (variable)
+#. Documentation/user/fretted-strings.itely:782 (variable)
+#. Documentation/user/fretted-strings.itely:805 (variable)
+#. 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:937 (variable)
msgid "mychords"
msgstr ""
-#. Documentation/user/fretted-strings.itely:797 (variable)
+#. Documentation/user/fretted-strings.itely:809 (variable)
msgid "mychordlist"
msgstr ""
-#. Documentation/user/fretted-strings.itely:906 (comment)
+#. Documentation/user/fretted-strings.itely:924 (comment)
msgid "add a new chord shape"
msgstr ""
-#. Documentation/user/fretted-strings.itely:910 (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:654 (variable)
+#. Documentation/user/chords.itely:669 (variable)
msgid "myChords"
msgstr ""
-#. Documentation/user/chords.itely:984 (comment)
-#. Documentation/user/chords.itely:1005 (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:1068 (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:1080 (comment)
+#. Documentation/user/chords.itely:1095 (comment)
msgid "The extenders are incorrect here, even though the timing is the same"
msgstr ""
#. @rglos in Documentation/user/chords.itely
#. @rglos in Documentation/es/user/chords.itely
+#. @rglos in Documentation/de/user/chords.itely
msgid "figured bass"
msgstr ""
msgid "now they will collide"
msgstr ""
-#. Documentation/user/spacing.itely:1788 (comment)
+#. Documentation/user/spacing.itely:1789 (comment)
msgid "the markup is too close to the following note"
msgstr ""
-#. Documentation/user/spacing.itely:1791 (comment)
+#. Documentation/user/spacing.itely:1793 (comment)
msgid "setting outside-staff-horizontal-padding fixes this"
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 ""
#. @subsection in Documentation/user/changing-defaults.itely
#. @node in Documentation/es/user/changing-defaults.itely
#. @subsection in Documentation/es/user/changing-defaults.itely
+#. @node in Documentation/de/user/changing-defaults.itely
+#. @subsection in Documentation/de/user/changing-defaults.itely
msgid "Staff symbol properties"
msgstr ""
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
msgid "Using the @code{spanner-interface}"
msgstr ""
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
msgid "Using the @code{line-spanner-interface}"
msgstr ""
#. @subsection in Documentation/user/changing-defaults.itely
#. @node in Documentation/es/user/changing-defaults.itely
#. @subsection in Documentation/es/user/changing-defaults.itely
+#. @node in Documentation/de/user/changing-defaults.itely
+#. @subsection in Documentation/de/user/changing-defaults.itely
msgid "Visibility of objects"
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 "Rotating layout objects"
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 "Rotating markup"
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 "Setting @code{X-offset} and @code{Y-offset} directly"
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{side-position-interface}"
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{self-alignment-interface}"
msgstr ""
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
msgid "Using the @code{aligned-on-parent} procedures"
msgstr ""
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/user/changing-defaults.itely
+#. @unnumberedsubsubsec in Documentation/de/user/changing-defaults.itely
msgid "Using the @code{centered-on-parent} procedures"
msgstr ""
#. @unnumberedsubsubsec in Documentation/user/changing-defaults.itely
#. @node in Documentation/es/user/changing-defaults.itely
#. @unnumberedsubsubsec in Documentation/es/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
#. @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 "Modifying ties and slurs"
msgstr ""
#. @section in Documentation/user/programming-interface.itely
#. @subsection in Documentation/fr/user/changing-defaults.itely
#. @section in Documentation/es/user/programming-interface.itely
-#. @subsection in Documentation/de/user/programming-interface.itely
+#. @section in Documentation/de/user/programming-interface.itely
msgid "Using Scheme code instead of @code{\\tweak}"
msgstr ""
#. @node in Documentation/es/user/programming-interface.itely
#. @section in Documentation/es/user/programming-interface.itely
#. @node in Documentation/de/user/programming-interface.itely
-#. @subsection in Documentation/de/user/programming-interface.itely
+#. @section in Documentation/de/user/programming-interface.itely
msgid "Difficult tweaks"
msgstr ""
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 "GNU LilyPond -- Programmbenutzung"
msgstr ""
-#. @top in Documentation/de/user/lilypond.tely
-msgid "GNU LilyPond -- Notationsreferenz"
-msgstr ""
-
#. @chapheading in Documentation/de/user/lilypond.tely
msgid "Das Notensatzprogramm"
msgstr ""
msgstr ""
#. @node in Documentation/de/user/changing-defaults.itely
-#. @section in Documentation/de/user/changing-defaults.itely
-msgid "Common properties"
-msgstr ""
-
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @subsection in Documentation/de/user/changing-defaults.itely
-msgid "Controlling visibility of objects"
-msgstr ""
-
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @subsection in Documentation/de/user/changing-defaults.itely
-msgid "Modifying ends of spanners"
-msgstr ""
-
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @section in Documentation/de/user/changing-defaults.itely
-msgid "Discussion of specific tweaks"
-msgstr ""
-
-#. @node in Documentation/de/user/changing-defaults.itely
-#. @subsection in Documentation/de/user/changing-defaults.itely
-msgid "old Contexts explained"
-msgstr ""
-
-#. @node in Documentation/de/user/programming-interface.itely
-#. @section in Documentation/de/user/programming-interface.itely
-msgid "TODO moved into scheme"
+#. @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 "Test it:"
msgstr ""
-#. input/lsr/tick-bar-lines.ly:21 (comment)
-msgid "Use 'bar-size to control the height of the tick,"
-msgstr ""
-
-#. input/lsr/tick-bar-lines.ly:22 (comment)
-msgid "and 'extra-offset to determine its position."
-msgstr ""
-
-#. input/lsr/tick-bar-lines.ly:24 (comment)
-msgid "With 'extra-offset set to zero, the tick will be"
-msgstr ""
-
-#. input/lsr/tick-bar-lines.ly:25 (comment)
-msgid "centered around the middle line of the staff."
-msgstr ""
-
-#. input/lsr/tick-bar-lines.ly:27 (comment)
-msgid "Replace Staff.BarLine with Score.BarLine to"
-msgstr ""
-
-#. input/lsr/tick-bar-lines.ly:28 (comment)
-msgid "apply the method to the whole score."
-msgstr ""
-
-#. input/lsr/tick-bar-lines.ly:38 (comment)
-msgid "Revert the overrides to get back a normal"
-msgstr ""
-
-#. input/lsr/tick-bar-lines.ly:39 (comment)
-msgid "bar line at the end."
-msgstr ""
-
#. input/lsr/transcription-of-ancient-music-with-incipit.ly:127 (variable)
msgid "incipitDiscantus"
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:
+@lilypond
+\relative c'' {
+ \override Stem #'flag = #modern-straight-flag
+ c,16 \acciaccatura {c'8} d4 d32
+ \bar":"
+ \override Stem #'flag = #old-straight-flag
+ c,16 \acciaccatura {c'8} d4 d32
+}
+@end lilypond
+
@item
@code{\bookpart} blocks may be used to split a book into several parts,
separated by a page break, in order to ease the page breaking, or to use
is finished.
</p>
- <p><i>Last updated Tue Dec 9 09:40:49 UTC 2008
+ <p><i>Last updated Sun Dec 28 01:18:10 UTC 2008
</i></p>
<table align="center" border="2">
<tr align="center">
<td>Till Rettig<br>
Reinhold Kainhofer<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #2cff20">partially up to date</span><br>
+ <span style="background-color: #1fff1f">up to date</span><br>
</td>
<td>Francisco Vila<br>
<span style="background-color: #1fff1f">translated</span><br>
Jean-Charles Malahieude<br>
<small>John Mandereau</small><br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #47ff24">partially up to date</span><br>
+ <span style="background-color: #4efe25">partially up to date</span><br>
</td>
<td>Till Rettig<br>
Reinhold Kainhofer<br>
</td>
</tr>
<tr align="left">
- <td>4 Tweaking output<br>(14581)</td>
+ <td>4 Tweaking output<br>(14647)</td>
<td>Valentin Villenave<br>
Nicolas Klutchnikoff<br>
Damien Heurtebise<br>
</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>Reinhold Kainhofer<br>
Till Rettig<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #2cff20">partially up to date</span><br>
+ <span style="background-color: #1fff1f">up to date</span><br>
</td>
<td>Francisco Vila<br>
<span style="background-color: #1fff1f">translated</span><br>
</td>
</tr>
<tr align="left">
- <td>4 @command{lilypond-book}: Integrating text and music<br>(3185)</td>
+ <td>4 @command{lilypond-book}: Integrating text and music<br>(3248)</td>
<td> <span style="background-color: #d0f0f8">not translated</span><br>
</td>
<td>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>
</tr>
<tr align="left">
- <td>1.1 Pitches<br>(3086)</td>
+ <td>1.1 Pitches<br>(3123)</td>
<td>Frédéric Chiasson<br>
<small>Valentin Villenave<br>
Jean-Charles Malahieude</small><br>
</td>
</tr>
<tr align="left">
- <td>1.7 Editorial annotations<br>(906)</td>
+ <td>1.7 Editorial annotations<br>(895)</td>
<td>Jean-Charles Malahieude<br>
<span style="background-color: #1fff1f">translated</span><br>
<span style="background-color: #ff6f57">partially up to date</span><br>
</td>
<td>Till Rettig<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #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.2 Keyboard and other multi-staff instruments<br>(725)</td>
+ <td>2.2 Keyboard and other multi-staff instruments<br>(744)</td>
<td>Valentin Villenave<br>
<small>Jean-Charles Malahieude<br>
John Mandereau</small><br>
- <span style="background-color: #dfef77">partially translated (89 %)</span><br>
- <span style="background-color: #ff6d58">partially up to date</span><br>
+ <span style="background-color: #1fff1f">translated</span><br>
+ <span style="background-color: #1fff1f">up to date</span><br>
</td>
<td>Till Rettig<br>
<span style="background-color: #1fff1f">translated</span><br>
</td>
<td>Till Rettig<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #25fe1f">partially up to date</span><br>
+ <span style="background-color: #1fff1f">up to date</span><br>
</td>
<td>Francisco Vila<br>
<span style="background-color: #1fff1f">translated</span><br>
</td>
</tr>
<tr align="left">
- <td>2.4 Fretted string instruments<br>(1759)</td>
+ <td>2.4 Fretted string instruments<br>(1850)</td>
<td>Valentin Villenave<br>
<small>Jean-Charles Malahieude<br>
John Mandereau</small><br>
</td>
</tr>
<tr align="left">
- <td>2.7 Chord notation<br>(1333)</td>
+ <td>2.7 Chord notation<br>(1464)</td>
<td>Valentin Villenave<br>
<small>Jean-Charles Malahieude<br>
John Mandereau</small><br>
- <span style="background-color: #dfef77">partially translated (64 %)</span><br>
+ <span style="background-color: #dfef77">partially translated (61 %)</span><br>
<span style="background-color: #ff6f57">partially up to date</span><br>
</td>
<td>Till Rettig<br>
- <span style="background-color: #dfef77">partially translated (64 %)</span><br>
- <span style="background-color: #ff6f57">partially up to date</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>
<span style="background-color: #1fff1f">translated</span><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>
</td>
<td>Till Rettig<br>
<span style="background-color: #dfef77">partially translated (79 %)</span><br>
- <span style="background-color: #ff6d58">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>2.9 World music<br>(1115)</td>
<td> <span style="background-color: #d0f0f8">not translated</span><br>
</td>
- <td> <span style="background-color: #d0f0f8">not translated</span><br>
+ <td>Till Rettig<br>
+ <span style="background-color: #1fff1f">translated</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>
<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: #ff8353">partially up to date</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>
<span style="background-color: #1fff1f">translated</span><br>
</td>
</tr>
<tr align="left">
- <td>4 Spacing issues<br>(8444)</td>
+ <td>4 Spacing issues<br>(8451)</td>
<td>Frédéric Chiasson<br>
Jean-Charles Malahieude<br>
<span style="background-color: #dfef77">partially translated (19 %)</span><br>
- <span style="background-color: #fff73e">partially up to date</span><br>
+ <span style="background-color: #fff53e">partially up to date</span><br>
</td>
<td>Till Rettig<br>
<span style="background-color: #dfef77">partially translated (3 %)</span><br>
- <span style="background-color: #fff73e">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>5 Changing defaults<br>(11291)</td>
+ <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: #ff974f">partially up to date</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>
</td>
</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>
</tr>
<tr align="left">
- <td>B Notation manual tables<br>(1155)</td>
+ <td>B Notation manual tables<br>(1190)</td>
<td>Frédéric Chiasson<br>
Jean-Charles Malahieude<br>
<span style="background-color: #dfef77">partially translated (7 %)</span><br>
- <span style="background-color: #e8fe39">partially up to date</span><br>
+ <span style="background-color: #efff3a">partially up to date</span><br>
</td>
<td>Till Rettig<br>
<span style="background-color: #1fff1f">translated</span><br>
</td>
<td>Till Rettig<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #33ff21">partially up to date</span><br>
+ <span style="background-color: #1fff1f">up to date</span><br>
</td>
<td>Francisco Vila<br>
<span style="background-color: #1fff1f">translated</span><br>
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
\relative c' \new Staff = "main" {
c4 c c c
<<
- \new Staff \with {alignAboveContext=main} \ossia
+ \new Staff \with { alignAboveContext = #"main" } \ossia
{ d8 f d f d f d f }
>>
}
* 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-aligned-interface}::
+* Using the @code{break-alignable-interface}::
@end menu
@node Setting @code{X-offset} and @code{Y-offset} directly
@c TODO The align-interface, BassFigureAlignment and VerticalAlignment
-@node Using the @code{break-aligned-interface}
-@unnumberedsubsubsec Using the @code{break-aligned-interface}
+@node Using the @code{break-alignable-interface}
+@unnumberedsubsubsec Using the @code{break-alignable-interface}
-Rehearsal marks may be aligned with notation objects other
-than bar lines. These objects include @code{ambitus},
+@cindex align to objects
+@cindex break-align-symbols
+
+Rehearsal marks and bar numbers may be aligned with notation
+objects other than bar lines. These objects include @code{ambitus},
@code{breathing-sign}, @code{clef}, @code{custos}, @code{staff-bar},
@code{left-edge}, @code{key-cancellation}, @code{key-signature}, and
@code{time-signature}.
-By default, rehearsal marks will be horizontally centered above the
-object:
+By default, rehearsal marks and bar numbers will be horizontally
+centered above the object:
@lilypond[verbatim,quote,relative=1]
e1
e2.
@end lilypond
+A list of possible target alignment objects may be specified. If
+some of the objects are invisible at that point due to the setting
+of @code{break-visibility} or the explicit visibility settings for
+keys and clefs, the rehearsal mark or bar number is aligned to the
+first object in the list which is visible. If no objects in the
+list are visible the object is aligned to the bar line. If the bar
+line is invisible the object is aligned to the place where the bar
+line would be.
+
+@lilypond[verbatim,quote,relative=1]
+e1
+% the RehearsalMark will be centered above the Key Signature
+\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
+\key a \major
+\clef treble
+\mark "↓"
+e
+% the RehearsalMark will be centered above the Clef
+\set Staff.explicitKeySignatureVisibility = #all-invisible
+\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
+\key a \minor
+\clef bass
+\mark "↓"
+e,
+@end lilypond
+
The alignment of the rehearsal mark relative to the notation object
can be changed, as shown in the following example. In a score with
multiple staves, this setting should be done for all the staves.
@end lilypond
-
@node Vertical grouping of grobs
@subsection Vertical grouping of grobs
@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 {
@seealso
Notation Reference:
-@ref{Common chord modifiers}.
+@ref{Common chord modifiers},
+@ref{Extended and altered chords}.
Snippets:
@rlsr{Chords}.
+@knownissues
+Only one quality modifier should be used per chord, typically on the
+highest step present in the chord. Chords with more than quality
+modifier will be parsed without an error or warning, but the results
+are unpredictable. Chords that cannot be achieved with a single
+quality modifier should be altered by individual pitches, as described
+in @ref{Extended and altered chords}.
+
@node Extended and altered chords
@unnumberedsubsubsec Extended and altered chords
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 {
@end lilypond
Fingering indications and barres can be included in a
-fret-diagram-verbose markup string.
+fret-diagram-verbose markup string. Unique to the
+fret-diagram-verbose interface is a capo indication that
+can be placed on the fret diagram. The capo indication is
+a thick bar that covers all strings. The fret with the
+capo will be the lowest fret in the fret diagram.
@c \override is necessary to make fingering visible
@lilypond[quote, verbatim]
<<
\context ChordNames {
\chordmode {
- f1 g
+ f1 g c
}
}
\context Staff {
(open 2)
(place-fret 1 3 3)
)
- }
+ < c e g c' e'> ^\markup
+ \fret-diagram-verbose #'(
+ (capo 3)
+ (mute 6)
+ (place-fret 4 5 1)
+ (place-fret 3 5 2)
+ (place-fret 2 5 3)
+ )
+ }
>>
@end lilypond
@cindex adding custom fret diagrams
Fret diagrams can be added to the fret diagram table. To add a diagram,
-you must specify the chord for the diagram, the tuning to be used, and the
-fret-diagram-terse definition string for the diagram.
+you must specify the chord for the diagram, the tuning to be used, and
+a definition for the diagram. The diagram definition can be either a
+fret-diagram-terse definition string or a fret-diagram-verbose
+marking list.
@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
\storePredefinedDiagram \chordmode {c'}
#guitar-tuning
- #(offset-fret 2 (chord-shape 'bes))
+ #(offset-fret 2 (chord-shape 'bes guitar-tuning))
mychords = \chordmode{
c1 c'
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.
+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.
@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
% add a new chord shape
-\addChordShape #'powerf #"1-1;3-3;3-4;x;x;x;"
+\addChordShape #'powerf #guitar-tuning #"1-1;3-3;3-4;x;x;x;"
% add some new chords based on the power chord shape
\storePredefinedDiagram \chordmode {f'}
#guitar-tuning
- #(chord-shape 'powerf)
+ #(chord-shape 'powerf guitar-tuning)
\storePredefinedDiagram \chordmode {g'}
#guitar-tuning
- #(offset-fret 2 (chord-shape 'powerf))
+ #(offset-fret 2 (chord-shape 'powerf guitar-tuning))
mychords = \chordmode{
f1 f' g g'
version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.11.61"
+@c \version "2.11.65"
@node Fundamental concepts
@chapter Fundamental concepts
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main" }
+ alignAboveContext = #"main" }
{ f8 f c }
>>
r4 |
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" { \global \sopranoMusic }
>>
\new Lyrics \lyricsto "sopranos" { \sopranoWords }
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" { \global \altoMusic }
>>
\new Lyrics \lyricsto "altos" { \altoWords }
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" { \global \tenorMusic }
>>
\new Lyrics \lyricsto "tenors" { \tenorWords }
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" { \global \bassMusic }
>>
\new Lyrics \lyricsto "basses" { \bassWords }
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano"
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
@example
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" @{ \global \sopranoMusic @}
>>
\new Lyrics \lyricsto "sopranos" @{ \sopranoWords @}
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" @{ \global \altoMusic @}
>>
\new Lyrics \lyricsto "altos" @{ \altoWords @}
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" @{ \global \tenorMusic @}
>>
\new Lyrics \lyricsto "tenors" @{ \tenorWords @}
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" @{ \global \bassMusic @}
>>
\new Lyrics \lyricsto "basses" @{ \bassWords @}
@example
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano "
+ \set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano"
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" { \global \sopranoMusic }
>>
\new Lyrics \lyricsto "sopranos" { \sopranoWords }
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" { \global \altoMusic }
>>
\new Lyrics \lyricsto "altos" { \altoWords }
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" { \global \tenorMusic }
>>
\new Lyrics \lyricsto "tenors" { \tenorWords }
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" { \global \bassMusic }
>>
\new Lyrics \lyricsto "basses" { \bassWords }
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano "
+ \set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
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
@example
\new Staff @{
- \set Staff.midiInstrument = "glockenspiel"
+ \set Staff.midiInstrument = #"glockenspiel"
@var{...notes...}
@}
@end example
@example
-\new Staff \with @{midiInstrument = "cello"@} @{
+\new Staff \with @{midiInstrument = #"cello"@} @{
@var{...notes...}
@}
@end example
\score {
\new Staff {
- \set Staff.midiInstrument = "cello"
+ \set Staff.midiInstrument = #"cello"
\set Score.dynamicAbsoluteVolumeFunction = #myDynamics
\new Voice {
\relative c'' {
@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}
@item Canceling the effects of the key signature or previous accidentals.
@end itemize
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
-<<
- \context Staff \relative c'' {
- \set Staff.extraNatural = ##f
- gisis1 gis g! ges geses
+@lilypond[quote,notime]
+\score {
+ \new Staff {
+ \relative c'' {
+ \set Staff.extraNatural = ##f
+ gisis1 gis g! ges geses
+ }
}
- \lyrics {
- \override Lyrics .LyricText #'self-alignment-X = #-1
- "db. sharp" sharp natural flat "db. flat"
+ \addlyrics {
+ \markup {
+ \center-column { double sharp }
+ }
+ sharp
+ natural
+ flat
+ \markup {
+ \center-column { double flat }
+ }
}
->>
+ \layout {
+ \context {
+ \Score
+ \override SpacingSpanner
+ #'base-shortest-duration = #(ly:make-moment 1 32)
+ }
+ }
+}
@end lilypond
@notation{Al niente} is indicated by circling the tip of the hairpin:
-@lilypond[fragment,ragged-right]
-\relative c'' {
- \override Hairpin #'circled-tip = ##t
- c1\<
- c2\> c\<
- c1\!
-}
+@lilypond[quote,relative=2]
+\override Hairpin #'circled-tip = ##t
+c1\<
+c2\> c\<
+c1\!
@end lilypond
-or with the actual phrase @notation{al niente}. This may be easier with
-text markup, rather than as part of the @notation{decrescendo} text:
+or with the actual phrase @notation{al niente}:
-@lilypond[fragment,ragged-right]
-\relative c'' {
- \dimTextDecresc
- c1~\>
- c~
- c\!-\markup { \italic "al niente" }
-}
+@lilypond[quote,relative=2]
+\dimTextDecresc
+\override DynamicTextSpanner #'(bound-details right text) =
+ \markup { \italic { al niente } }
+c1\> ~
+c1 ~
+c1\!
@end lilypond
Since one does not crescendo @emph{to} nothing, it is not correct to use
FI: kohotahti.
An anacrusis (also known as pickup or upbeat) is an incomplete measure
-of music before a section of music. It also refers to the initial
+of music before a section of music. It also refers to the initial
note(s) of a melody occurring in that incomplete measure.
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,relative=1]
\key f \major
\time 4/4
-\relative c' {
- \partial 4 f4 | bes4. a8 bes4 c |
- bes( a) g f | bes4. a8 bes4 c | f,2. \bar "||" }
+\partial 4 f4
+bes4. a8 bes4 c
+bes4( a) g f
+bes4. a8 bes4 c
+f,2. \bar "||"
@end lilypond
Also called @q{natural minor scale}.
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
-\relative c'' {
- a1 b c d e f g a }
+@lilypond[quote,notime,relative=2]
+a1 b c d e f g a
@end lilypond
note regardless of the duration of the main note the duration of the
long appoggiatura is proportional to that of the main note.
-@lilypond[line-width=13.0\cm]
-\context Voice \relative c'' {
- \key d \major
- \time 4/4
-
-%\override Score.TextScript #'font-style = #'large
- <d a fis>4_"notation" r
- { \override Stem #'flag-style = #'()
- \grace g16
- \revert Stem #'flag-style
- }
- fis8 e16 fis
- { \override Stem #'flag-style = #'()
- \grace a16
- \revert Stem #'flag-style
- }
- g8 fis16 g |
- \cadenzaOn a4 \bar "||" \cadenzaOff
-
- <d, a fis>4_"performance" r g16 ( fis) e fis a ( g) fis g |
- \cadenzaOn a4 \bar "||" \cadenzaOff
-}
+@lilypond[quote,relative=2]
+\key d \major
+\time 4/4
+<d a fis>4_"notation" r
+\grace g16
+fis8 e16 fis
+\grace a16
+g8 fis16 g |
+a4 \bar "||"
+
+\set Score.measurePosition = #ZERO-MOMENT
+<d, a fis>4_"performance" r
+g16( fis) e fis
+a16 ( g) fis g |
+a4 \bar "||"
@end lilypond
An appoggiatura may have more notes preceding the main note.
-@lilypond[line-width=13.0\cm]
-\relative c'' {
- \key as \major
- \time 2/4
-% \override Score.TextScript #'font-style = #'large
- \grace { bes16 } as8_"notation" as16 bes as8 g |
- \grace { as16[( bes] } < c as >4-)
- \grace { as16[( bes] } < c as >4-) \bar "||"
- \grace { bes16 } as8_"performance" as16 bes as8 g |
- << \context Voice = va { \stemUp\tieUp as32 bes c8. as32 bes c8. }
- \context Voice = vb { \stemDown\tieDown as16 ~ as8. as16 ~ as8. } >>
- \bar "||"
-}
+@lilypond[quote,relative=2]
+\key as \major
+\time 2/4
+\grace bes16 as8-"notation" as16 bes as8 g |
+\grace { as16[( bes] } <c as>4)
+\grace { as16[( bes] } <c as>4) \bar "||"
+
+\grace bes16 as8-"performance" as16 bes as8 g |
+<<
+ {
+ \voiceOne
+ as32 bes c8. as32 bes c8.
+ }
+ \new Voice {
+ \voiceTwo
+ as16 ~ as8. as16 ~ as8.
+ }
+>>
@end lilypond
[Italian: @q{harp-like, played like a harp}.]
-@lilypond[fragment,line-width=13.0\cm]
- \context PianoStaff <<
- \context Staff = SA \relative c'' {
- \time 4/4
- \clef treble
- r8 g16 c e g, c e r8 g,16 c e g, c e |
- r8 a,16 d f a, d f r8 a,16 d f a, d f \bar "||" }
- \context Staff = SB \relative c' {
- \clef bass
- << \context Voice = va {
- \stemUp
- r16 e8. ( e4) r16 e8. ( e4) |
- r16 d8. ( d4) r16 d8. ( d4) }
- \context Voice = vb {
- \stemDown
- c2 c | c c } >>
+@lilypond[quote,line-width=13\cm]
+\new PianoStaff <<
+ \context Staff = "SA" {
+ \relative c'' {
+ \clef treble
+ \time 4/4
+ r8 g16 c e g, c e r8 g,16 c e g, c e
+ r8 a,16 d f a, d f r8 a,16 d f a, d f
+ \bar "||"
+ }
+ }
+ \context Staff = "SB" {
+ \relative c' {
+ \clef bass
+ <<
+ {
+ \voiceOne
+ r16 e8. ( e4) r16 e8. ( e4)
+ r16 d8. ( d4) r16 d8. ( d4)
+ }
+ \new Voice {
+ \voiceTwo
+ c2 c
+ c2 c
+ }
+ >>
+ }
}
>>
@end lilypond
Line connecting a series of notes (shorter than a quarter note). The
number of beams determines the note value of the connected notes.
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
-%\override TextScript #'font-style = #'large
-\relative c'' {
- g8_"1/8"[ g g g] s16
- g16_"1/16"[ g g g] s16
- g32_"1/32"[ s32 g32 s32 g32 s32 g32] s16
- g64_"1/64"[ s32 g64 s32 g64 s32 g64] s32 }
+@lilypond[quote,notime,relative=2,line-width=13\cm]
+g8-"1/8"[ g g g] s16
+g16-"1/16"[ g g g] s
+g32-"1/32"[ s g s g s g] s16
+g64-"1/64"[ s32 g64 s32 g64 s32 g64] s32
@end lilypond
The base counting value and the number of them in each measure is indicated
at the start of the music by the @notation{time signature}.
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,relative=2]
\key g \major
\time 4/4
-\relative c'' { g4 c b a | g1 \bar "||"}
+g4 c b a | g1 \bar "||"
\time 3/8
-\relative c'' { g8 d' c | b c a | g4. \bar "||"}
+g8 d' c | b c a | g4. \bar "||"
@end lilypond
the staves of like instruments in an orchestral score when written on different
staves (e.g. first and second flutes):
-@lilypond[fragment,ragged-right]
-\context GrandStaff <<
- \relative c''\context Staff = SA { \clef treble g4 e c2 }
- \relative c \context Staff = SB { \clef bass c1 \bar "|." } >>
+@lilypond[quote]
+\new GrandStaff <<
+ \context Staff = "SA" {
+ \relative c'' {
+ \clef treble
+ g4 e c2
+ }
+ }
+ \context Staff = "SB" {
+ \relative c {
+ \clef bass
+ c1
+ \bar "|."
+ }
+ }
+>>
@end lilypond
Angular brackets for connecting parts in an orchestral or choral score:
-@lilypond[fragment,ragged-right]
-\context StaffGroup <<
-% \set StaffGroup.minVerticalAlign = #12
- \relative c'' \context Staff = SA { \clef treble g4 e c2 }
- \relative c \context Staff = SB { \clef bass c1 \bar "|." } >>
+@lilypond[quote]
+\new StaffGroup <<
+ \context Staff = "SA" {
+ \relative c'' {
+ \clef treble
+ g4 e c2
+ }
+ }
+ \context Staff = "SB" {
+ \relative c {
+ \clef bass
+ c1
+ \bar "|."
+ }
+ }
+>>
@end lilypond
A family of blown musical instruments made of brass, all using a cup
formed mouth piece. The brass instruments commonly used in a symphony
-orchestra are trumpet, trombone, french horn, and tube.
+orchestra are trumpet, trombone, french horn, and tuba.
@seealso
The shortest note value generally used in white mensural notation, hence the
name, which originally meant @q{of short duration}.
-@lilypond[fragment,notime,ragged-right]
-\set Score.automaticBars = ##f
-\relative c'' { g\breve }
+@lilypond[quote,notime,relative=2]
+g\breve
@end lilypond
Clef symbol indicating the position of the middle C. Used on all note
lines.
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
-\override Score.Clef #'full-size-change = ##t
-<<
- \context Staff \relative c' {
- \clef soprano c1
- \clef mezzosoprano c
- \clef alto c
- \clef tenor c
- \clef baritone c
- }
- \context Lyrics \lyrics {
- \override Lyrics .LyricText #'self-alignment-X = #-1
- "Soprano " "Mezzosoprano " "Alto " "Tenor " Baritone
- }
->>
+@lilypond[quote,notime,relative=1,line-width=13.0\cm]
+\new Staff {
+ \override Staff.Clef #'full-size-change = ##t
+ \clef soprano c1
+ \clef mezzosoprano c1
+ \clef alto c1
+ \clef tenor c1
+ \clef baritone c1
+}
+\addlyrics {
+ \override Lyrics . LyricText #'self-alignment-X = #LEFT
+ "Soprano " "Mezzosoprano " "Alto " "Tenor " Baritone
+}
@end lilypond
FI: sointu.
Three or more tones sounding simultaneously. In traditional European music
-the base chord is a @emph{triad} consisting of two thirds. @emph{Major}
+the base chord is a @emph{triad} consisting of two thirds. @emph{Major}
(major + minor third) as well as @emph{minor} (minor + major third) chords
-may be extended with more thirds. Four-tone @emph{seventh chords} and
+may be extended with more thirds. Four-tone @emph{seventh chords} and
five-tone @emph{ninth} major chords are most often used as dominants
(functional harmony). Chords having no third above the lower notes to
define their mood are a special case called @q{open chords}. The lack of
the middle third means their quality is ambivalent -- neither major nor
minor.
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
-%\override TextScript #'font-style = #'large
+@lilypond[quote,notime,line-width=13.0\cm]
<<
-\context Staff \relative c'' {
- \set Staff.extraNatural = ##f
- <g b d>1
- <g bes d>
- <g bes des>
- <g b dis>
- <g b d f>
- <g b d f a>
-}
-\lyrics{
- "major "
- "minor "
- "diminished "
- "augmented "
- "seventh-chord "
- ninth-chord
-}
+ \new Staff {
+ \relative c'' {
+ \set Staff.extraNatural = ##f
+ <g b d>1
+ <g bes d>
+ <g bes des>
+ <g b dis>
+ <g b d f>
+ <g b d f a>
+ }
+ }
+ \lyrics {
+ "major "
+ "minor "
+ "diminished "
+ "augmented "
+ "seventh-chord "
+ ninth-chord
+ }
>>
@end lilypond
A scale consisting of all 12 semitones.
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
-\relative c' { c1 cis d dis e f fis g gis a ais b c }
+@lilypond[quote,notime,relative=1,line-width=13.0\cm]
+c1 cis d dis e f fis g gis a ais b c
@end lilypond
geometrical shape of a cluster covers the area in which any single
pitch contained in the cluster would be notated as an ordinary note.
-@lilypond[fragment,relative=2,ragged-right]
-\makeClusters { <c e> <b f'> <b g'> <c g> <f e> }
+@lilypond[quote,relative=2]
+\makeClusters { <c e>4 <b f'> <b g'> <c g>8 <f e> }
@end lilypond
A time signature that additively combines two or more unequal meters, e.g.,
"3/8 + 2/8" instead of "5/8". Sometimes called additive time signatures.
-@lilypond[fragment,line-width=13.0\cm]
-#(define (compound-time grob one two three num)
+@end enumerate
+
+@lilypond[quote,line-width=13.0\cm]
+#(define ((compound-time one two three num) grob)
(grob-interpret-markup grob
(markup
#:override '(baseline-skip . 0)
\relative c' {
\key f \major
#(set-time-signature 8 8 '(3 2 3))
- \override Staff.TimeSignature #'stencil = #(lambda (grob)
- (compound-time grob "3" "2" "3" "8"))
+ \override Staff.TimeSignature #'stencil =
+ #(compound-time "3" "2" "3" "8")
#(override-auto-beam-setting '(end 1 8 8 8) 3 8)
#(override-auto-beam-setting '(end 1 8 8 8) 5 8)
}
@end lilypond
-@end enumerate
-
@seealso
@ref{compound meter}, @ref{meter}, @ref{polymetric time signature}.
@itemize
@item violin
@item viola
-@item violincello
+@item violoncello
@end itemize
@end multitable
@item piccolo (plays an octave higher)
@item celesta (plays an octave higher)
-@item double-bass (plays an octave lower)
+@item double bass (plays an octave lower)
@end itemize
Progressing melodically by intervals of a second, as contrasted with
@emph{disjunct movement}.
-@lilypond[fragment,line-width=13.0\cm]
-\key g \major \time 4/4
-\relative c'' { g4 g g a | b2 a | g4 b a a | g1 \bar "||" }
+@lilypond[quote,relative=2,line-width=13.0\cm]
+\key g \major
+\time 4/4
+g4 g g a | b2 a | g4 b a a | g1 \bar "||"
@end lilypond
distinct melodic significance. A frequently used polyphonic technique
is imitation, in its strictest form found in the canon needing only
one part to be written down while the other parts are performed with a
-given displacement. Imitation is also the contrapunctal technique
+given displacement. Imitation is also the contrapuntal technique
used in the @emph{fugue} which, since the music of the baroque era,
has been one of the most popular polyphonic composition methods.
-@lilypond[fragment,staffsize=12,line-width=13.0\cm]
-\set Score.implicitTimeSignatureVisibility = #all-invisible
-\override Score.TimeSignature #'break-visibility = #all-invisible
-\context PianoStaff <<
+@lilypond[quote,staffsize=12,line-width=13.0\cm]
+\new PianoStaff <<
\context Staff = SA \relative c' {
\key bes \major
\time 4/4
Increasing volume. Indicated by a rightwards opening horizontal wedge
(hairpin) or the abbreviation @notation{cresc.}.
-@lilypond[fragment,ragged-right]
-\key g \major \time 4/4
-\relative c'' { g4 \< a b c | d1\! \bar "|." }
+@lilypond[quote,relative=2]
+\key g \major
+\time 4/4
+g4\< a b c | d1\! \bar "|."
@end lilypond
they have survived only in special forms of musical notation such as the
@emph{Editio Vaticana}, dating from the beginning of the 20th century
-@lilypond
+@lilypond[quote,ragged-right]
\score {
- {
-% \override Staff.Custos #'neutral-position = #4
- \override Staff.Custos #'neutral-direction = #down
+ \new Staff {
+ \override Staff.Custos #'neutral-direction = #DOWN
\override Staff.Custos #'style = #'hufnagel
c'1 \break
<d' a' f''>1
}
-
\layout {
\context {
\Staff
- \consists Custos_engraver
+ \consists "Custos_engraver"
}
- ragged-right = ##t
}
}
@end lilypond
another place frequently near the beginning marked by a sign
(@notation{segno}):
-@lilypond[fragment,ragged-right]
-%\override TextScript #'font-style = #'large
-\override TextScript #'font-shape = #'italic
-\key g \major \time 4/4
-\relative c'' {
- d1 |
- g,4^\segno a b c |
- b a g2_\markup{
- \line { "D.S. " \tiny \raise #1 \musicglyph #"scripts.segno" } }
- \bar "|."
+@lilypond[quote,relative=2]
+\key g \major
+\time 4/4
+d1
+g,4^\segno a b c
+b4 a g2-\markup {
+ \italic "D.S. "
+ \tiny \raise #1
+ \musicglyph #"scripts.segno"
}
+\bar "|."
@end lilypond
Decreasing tone volume. Indicated by a leftwards opening horizontal
wedge (hairpin) or the abbreviation @notation{decresc.}.
-@lilypond[fragment,ragged-right]
-\relative c'' {
- \key g \major \time 4/4
- d4 \> c b a | g1 \! \bar "|."
-}
+@lilypond[quote,relative=2]
+\key g \major
+\time 4/4
+d4\> c b a | g1 \! \bar "|."
@end lilypond
S: diatonisk skala,
FI: diatoninen asteikko.
-A scale consisting of 5@w{ }whole tones and 2@w{ }semitones (S). Scales
+A scale consisting of 5@w{ }whole tones and 2@w{ }semitones (S). Scales
played on the white keys of a piano keybord are diatonic. These scales
are sometimes called, somewhat inaccurately, @q{church modes}).
These @emph{modes} are used in Gregorian chant and in pre-baroque early music
but also to some extent in newer jazz music.
-@lilypond[fragment,notime,ragged-right]
-\set Score.automaticBars = ##f
-%\override Score.LyricText #'font-style = #'large
-%\override Score.TextScript #'font-style = #'large
+@lilypond[quote,notime,relative=1]
<<
- \context Staff \relative c' {
+ {
c1 d
- \override TextScript #'padding = #-4
e^"~~ S" f g a b^"~~ S" c
}
- \context Lyrics \lyrics {
+ \lyrics {
Ionian
}
>>
@end lilypond
-@lilypond[fragment,notime,ragged-right]
-\set Score.automaticBars = ##f
+@lilypond[quote,notime,relative=1]
<<
- \context Staff \relative c' {
+ {
d1
- \override TextScript #'padding = #-4
e^"~~ S" f g a b^"~~ S" c d
}
\lyrics {
>>
@end lilypond
-@lilypond[fragment,notime,ragged-right]
-\set Score.automaticBars = ##f
+@lilypond[quote,notime,relative=1]
<<
- \relative c' {
- \override TextScript #'padding = #-4
+ {
e1^"~~ S" f g a b^"~~ S" c d e
}
\lyrics {
>>
@end lilypond
-@lilypond[fragment,notime,ragged-right]
-\set Score.automaticBars = ##f
+@lilypond[quote,notime,relative=1]
<<
- \relative c' {
+ {
f1 g a
- \override TextScript #'padding = #-4
b^"~~ S" c d e^"~~ S" f
}
\lyrics {
>>
@end lilypond
-@lilypond[fragment,notime,ragged-right]
-\set Score.automaticBars = ##f
+@lilypond[quote,notime,relative=2]
<<
- \relative c'' {
+ {
g1 a
- \override TextScript #'padding = #-4
- b^"~~ S" c d e^"~~ S" f g }
+ b^"~~ S" c d e^"~~ S" f g
+ }
\lyrics {
Mixolydian
}
>>
@end lilypond
-@lilypond[fragment,notime,ragged-right]
-\set Score.automaticBars = ##f
-%\override Score.LyricText #'font-style = #'large
-%\override Score.TextScript #'font-style = #'large
+@lilypond[quote,notime,relative=2]
<<
- \relative c'' {
+ {
a1
- \override TextScript #'padding = #-4
b^"~~ S" c d e^"~~ S" f g a
}
\lyrics {
>>
@end lilypond
-@lilypond[fragment,notime,ragged-right]
-\set Score.automaticBars = ##f
-%\override Score.LyricText #'font-style = #'large
-%\override Score.TextScript #'font-style = #'large
+@lilypond[quote,notime,relative=2]
<<
- \relative c'' {
- \override TextScript #'padding = #-4
+ {
b1^"~~ S" c d e^"~~ S" f g a b
}
\lyrics {
the harmonic minor scale type an augmented second (A) occurs between
the 6th and 7th tone.
-@lilypond[fragment,notime,ragged-right]
-\set Score.automaticBars = ##f
+@lilypond[quote,notime,relative=1]
<<
- \relative c' {
+ {
c1 d
- \override TextScript #'padding = #-4
e^"~~ S" f g a b^"~~ S" c
}
- \lyrics {
+ \lyrics {
Major
}
>>
@end lilypond
-@lilypond[fragment,notime,ragged-right]
-\set Score.automaticBars = ##f
+@lilypond[quote,notime,relative=2]
<<
- \relative c'' {
+ {
a1
- \override TextScript #'padding = #-4
b^"~~ S" c d e^"~~ S" f g a
}
- \lyrics {
+ \lyrics {
"Ancient (or Natural) minor"
}
>>
@end lilypond
-@lilypond[fragment,notime,ragged-right]
-\set Score.automaticBars = ##f
+@lilypond[quote,notime,relative=2]
<<
- \relative c'' {
+ {
a1
- \override TextScript #'padding = #-4
b^"~~ S" c d e^"~~ S" f!^"~~ A" gis^"~~ S" a
}
- \context Lyrics \lyrics {
+ \lyrics {
"Harmonic minor"
}
>>
@end lilypond
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
-%\override Score.LyricText #'font-style = #'large
-%\override Score.TextScript #'font-style = #'large
+@lilypond[quote,notime,relative=2]
<<
- \relative c'' {
+ {
a1
- \override TextScript #'padding = #-4
b^"~~ S" c d e fis gis^"~~ S" a
}
- \lyrics {
+ \lyrics {
"Melodic minor ascending"
}
>>
@end lilypond
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
-%\override Score.LyricText #'font-style = #'large
-%\override Score.TextScript #'font-style = #'large
+@lilypond[quote,notime,relative=3]
<<
- \relative c'' {
- a'1
- \override TextScript #'padding = #-4
- a g! f!^"~~ S" e d c^"~~ S" b a
+ {
+ a1
+ g! f!^"~~ S" e d c^"~~ S" b a
}
- \lyrics {
+ \lyrics {
"Melodic minor descending"
}
>>
Progressing melodically by intervals larger than a major second, as contrasted
with conjunct movement.
-@lilypond[fragment,ragged-right]
+@lilypond[quote,relative=1]
\key a \major
\time 4/4
-\relative c' {
- \partial 8 e8 |
- a4. gis8 b a e cis |
- fis2 d4. \bar "||" }
+\partial 8 e8 |
+a4. gis8 b a e cis |
+fis2 d4.
+\bar "||"
@end lilypond
Two notes, intervals, or scales are enharmonic if they have different
names but equal pitch.
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
+@lilypond[quote,notime,line-width=13.0\cm]
<<
-\context Staff \relative c'' {
- gis1 as <des g,!> <cis g!>
-}
-\context Lyrics \lyrics {
- \override Lyrics .LyricText #'self-alignment-X = #-1
- "g sharp " "a flat " "dim fifth " "augm fourth"
-}
+ \new Staff {
+ \relative c'' {
+ gis1 as <des g,!> <cis g!>
+ }
+ }
+ \lyrics {
+ "g sharp " "a flat " "dim fifth " "augm fourth"
+ }
>>
@end lilypond
the clef symbol indicates playing an octave lower (for example, on the
Double Bass).
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
-\override Staff.Clef #'full-size-change = ##t
+@lilypond[quote,notime,line-width=13.0\cm]
<<
-\relative c {
- \clef varbaritone
- f1
- \clef bass
- f1
- \clef subbass
- f1
- \clef "F^8"
- f1
- \clef "F_8"
- f1
-}
- \lyrics {
- "varbaritone "
- "bass "
- "sub-bass "
- "octave up "
- "octave down"
-}
+ \relative c {
+ \override Staff.Clef #'full-size-change = ##t
+ \clef varbaritone
+ f1
+ \clef bass
+ f1
+ \clef subbass
+ f1
+ \clef "F^8"
+ f1
+ \clef "F_8"
+ f1
+ }
+ \lyrics {
+ "varbaritone "
+ "bass "
+ "sub-bass "
+ "octave up "
+ "octave down"
+ }
>>
@end lilypond
Prolonged note or rest of indefinite duration.
-@lilypond[fragment,ragged-right]
+@lilypond[quote,relative=2]
\time 4/4
-\relative c'' {
- a4 b c2^\fermata \bar "|."
-}
+a4 b c2^\fermata
+\bar "|."
@end lilypond
together with figures designating the chief intervals and chords to be
played above the bass notes.
-TODO: Make the upper clef smaller, since it's usually "realized" in performance.
-
-@lilypond[fragment,line-width=13.0\cm]
-\context GrandStaff <<
- \context Staff = lh \relative c'' {
- \time 4/4
- \key es \major
+@lilypond[quote,line-width=13.0\cm]
+\new GrandStaff <<
+ \new Staff = "rh" \with {
+ fontSize = #-3
+ \override StaffSymbol #'staff-space = #(magstep -3)
+ } \relative c'' {
\clef treble
- << \context Voice = rha {
- \stemUp
- es4 d c bes | bes }
- \context Voice = rhb {
- \stemDown
- < bes g >8 as < as f > g < g es > f < d f > es | < g es >4 }
+ \key es \major
+ \time 4/4
+ <<
+ \context Voice = "rha" {
+ \voiceOne
+ es4 d c bes
+ bes4
+ }
+ \context Voice = "rhb" {
+ \voiceTwo
+ <bes g>8 as <as f> g <g es> f <d f> es
+ <g es>4
+ }
>>
}
- <<
- \context Staff = rh \relative c' {
+ \new Staff = "lh" \relative c' {
\clef bass
\key es \major
- es8 c d bes c as bes16 as g f | es4
- }
- \figures { s8 <6> s <4 2> s <6> s16 s <6> <4 2> }
- >>
+ es8 c d bes c as bes16 as g f
+ es4
+ }
+ \figures {
+ s8 <6> s <4 2> s <6> s16 s <6> <4 2>
+ }
>>
@end lilypond
Ornament at the end of the stem of a note used for notes with values less
than a quarter note. The number of flags determines the note value.
-@lilypond[fragment,notime,ragged-right]
-\set Score.automaticBars = ##f
-%\override Score.TextScript #'font-style = #'large
-\relative c'' {
- g8_"8th" s8
- g16_"16th" s8
- g32_"32nd" s8
- g64_"64th" s8
-}
+@lilypond[quote,notime,relative=2]
+g8-"8th" s8
+g16-"16th" s8
+g32-"32nd" s8
+g64-"64th" s8
@end lilypond
TODO: what does the @q{p} mean in Sp, Dp, Tp?
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
+@lilypond[quote,notime,relative=2,line-width=13.0\cm]
<<
-\context Voice \relative c'' {
- <g e c >1 < a f d > < b g e >
- <c a f > < d b g > < e c a > < f d b > }
-\context Lyrics \lyrics {
- T Sp Dp S D Tp \markup{ D\translate #(cons -2 0) {"|"} } }
+ {
+ <g e c>1 <a f d> <b g e>
+ <c a f> <d b g> <e c a> <f d b>
+ }
+ \lyrics {
+ T Sp Dp S D Tp
+ \markup { D \translate #'(-2 . 0) | }
+ }
>>
@end lilypond
playing or singing an octave lower (used most frequently to notate the tenor
part in modern choral scores).
-@lilypond[fragment,notime,ragged-right]
-<<
- \set Score.automaticBars = ##f
+@lilypond[quote,notime]
+\relative c'' {
\override Staff.Clef #'full-size-change = ##t
-
- \relative c'' {
- \set Score.proportionalNotationDuration = #(ly:make-moment 1 8)
- \clef french
- g1
- \clef treble
- g
- \clef "G^8"
- g
- \clef "G_8"
- g
- }
- \context Lyrics \lyrics {
- \override Lyrics . LyricText #'X-offset = #-5
- "french violin clef"
- "violin clef"
- "octave up"
- "octave down"
- }
->>
+ \set Score.proportionalNotationDuration = #(ly:make-moment 1 8)
+ \clef french
+ g1
+ \clef treble
+ g1
+ \clef "G^8"
+ g1
+ \clef "G_8"
+ g1
+}
+\addlyrics {
+ "french violin clef"
+ "violin clef"
+ "octave up"
+ "octave down"
+}
@end lilypond
Graphical version of the @notation{crescendo} and @notation{decrescendo}
dynamic marks.
-@lilypond[fragment,ragged-right]
-\relative c'' {
- c1\<
- c2\> c\<
- c1\!
-}
+@lilypond[quote,relative=2]
+c1\<
+c2\> c\<
+c1\!
@end lilypond
A sequence of chords that terminates a musical phrase or section.
-@lilypond[fragment,ragged-right]
-\context PianoStaff <<
- \context Staff = SA \relative c'' {
- \time 4/4
+@lilypond[quote]
+\new PianoStaff <<
+ \context Staff = "SA" \relative c'' {
\clef treble
- \context Voice
- \partial 4 < c g e >4 |
- < c a f > < b g d > < c g e >2
+ \time 4/4
+ \partial 4 <c g e>4 |
+ <c a f> <b g d> <c g e>2
}
<<
- \context Staff = SB \relative c {
+ \context Staff = "SB" \relative c {
\clef bass
\partial 4 c4 | f, g c2
\bar "|."
}
>>
>>
-
@end lilypond
Consonances:
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
-%\override Score.TextScript #'font-style = #'large
-\context Voice \relative c'' {
- <g g>1_"unison " s
- <g b>_"third " s
- <g c>_"fourth " s
- <g d'>_"fifth " s
- <g e'>_"sixth " s
- <g g'>_"octave " s
- <g b'>_"tenth" s s
-}
+@lilypond[quote,notime,relative=2,line-width=13.0\cm]
+<g g>1_"unison " s
+<g b>_"third " s
+<g c>_"fourth " s
+<g d'>_"fifth " s
+<g e'>_"sixth " s
+<g g'>_"octave " s
+<g b'>_"tenth" s s
@end lilypond
Dissonances:
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
-%\override Score.TextScript #'font-style = #'large
-\context Voice \relative c'' {
- <g a>1_"second " s s
- <g f'>_"seventh " s s
- <g a'>_"ninth" s s
-}
+@lilypond[quote,notime,relative=2,line-width=13.0\cm]
+<g a>1_"second " s s
+<g f'>_"seventh " s s
+<g a'>_"ninth" s s
@end lilypond
For harmony that uses three or more notes, see @ref{chord}.
For example, this phrase in 6/4 time
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,relative=1,line-width=13.0\cm]
\key c \major
\time 6/4
-\relative c' {
- c2. e | d2 c d | c1. \bar "||" }
+c2. e | d2 c d | c1. \bar "||"
@end lilypond
may be thought of having alternating time signatures
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,relative=1,line-width=13.0\cm]
\key c \major
\time 6/4
-\relative c' {
- c2. e | \time 3/2 d2 c d | \time 6/4 c1. \bar "||" }
+c2. e
+\time 3/2
+d2 c d
+\time 6/4
+c1. \bar "||"
@end lilypond
and is therefore a polymeter (second definition) of considerable antiquity.
because they consist of three whole tones. The addition of such two
intervals forms an octave.
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
+@lilypond[quote,notime,line-width=13.0\cm]
<<
-\context Voice \relative c'' {
- < g g >1
- < g as >^"minor"
- < g a! >
- < g ais >^"augm"
- < gis bes >^"dimin"
- < g! bes >^"minor"
- < g b! >^"major"
- < g bis >^"augm"
-}
-\context Lyrics \lyrics {
- "unison " "second " "second " "second "
- "third " "third " "third " "third"
-}
+ \context Voice \relative c'' {
+ < g g >1
+ < g as >^"minor"
+ < g a! >
+ < g ais >^"augm"
+ < gis bes >^"dimin"
+ < g! bes >^"minor"
+ < g b! >^"major"
+ < g bis >^"augm"
+ }
+ \context Lyrics \lyrics {
+ "unison " "second " "second " "second "
+ "third " "third " "third " "third"
+ }
>>
@end lilypond
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
+@lilypond[quote,notime,line-width=13.0\cm]
<<
-\context Staff \relative c'' {
- < g c >1^"perfect"
- < g cis >^"aug"
- < g d' >^"perfect"
- < g des' > ^"dim"
- < gis es' >^"dim"
- < g! es' >^"minor"
- < g e'! >^"major"
- < g eis' >^"aug"
-}
- \lyrics {
- "fourth " "fourth " "fifth " "fifth "
- "sixth " "sixth " "sixth " "sixth"
-}
+ \context Staff \relative c'' {
+ <g c >1^"perfect"
+ <g cis>^"aug"
+ <g d'>^"perfect"
+ <g des'> ^"dim"
+ <gis es'>^"dim"
+ <g! es'>^"minor"
+ <g e'!>^"major"
+ <g eis'>^"aug"
+ }
+ \lyrics {
+ "fourth " "fourth " "fifth " "fifth "
+ "sixth " "sixth " "sixth " "sixth"
+ }
>>
@end lilypond
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
+@lilypond[quote,notime,line-width=13.0\cm]
<<
-\context Staff \relative c'' {
- < gis f'! >1^"dimin"
- < g! f'! >^"minor"
- < g fis' >^"major"
- < g g' >
- < g as' >^"minor"
- < g a'! >^"major"
- < g bes' >^"minor"
- < g b'! >^"major"
-}
-\context Lyrics \lyrics {
- "seventh " "seventh " "seventh " "octave "
- "ninth " "ninth " "tenth " "tenth"
-}
+ \context Staff \relative c'' {
+ <gis f'!>1^"dimin"
+ <g! f'!>^"minor"
+ <g fis'>^"major"
+ <g g'>
+ <g as'>^"minor"
+ <g a'!>^"major"
+ <g bes'>^"minor"
+ <g b'!>^"major"
+ }
+ \context Lyrics \lyrics {
+ "seventh " "seventh " "seventh " "octave "
+ "ninth " "ninth " "tenth " "tenth"
+ }
>>
@end lilypond
The difference between an interval and an octave.
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
-%\override Score.TextScript #'font-style = #'large
-\context Staff \relative c'' {
- < g a >1_"second " s s < g' a, >_"seventh " s s \bar "||"
- < g, b >_"third " s s < g' b, >_"sixth " s s \bar "||"
- < g, c >_"fourth " s s < g' c, >_"fifth " s s \bar "||"
-}
+@lilypond[quote,notime,relative=2,line-width=13.0\cm]
+<g a>1_"second " s s <g' a,>_"seventh " s s \bar "||"
+<g, b>_"third " s s <g' b,>_"sixth " s s \bar "||"
+<g, c>_"fourth " s s <g' c,>_"fifth " s s \bar "||"
@end lilypond
A ledger line is an extension of the staff.
-@lilypond[fragment,notime,ragged-right]
-\set Score.automaticBars = ##f
-\relative c'' { a,1 s c'' }
+@lilypond[quote,notime,relative=2]
+a,1
+s1
+c''1
@end lilypond
notes, unlike (b) @notation{leggiero} or @notation{non-legato}, (c)
@notation{portato}, or (d) @notation{staccato}.
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
+@lilypond[quote,notime,line-width=13.0\cm]
<<
\context Staff \relative c'' {
c4-( d e-) \bar "||"
Note value: double length of @notation{breve}.
-@lilypond[fragment,notime,ragged-right]
-\set Score.automaticBars = ##f
-\relative c'' {
- \override NoteHead #'style = #'mensural
- g\longa g\breve
-}
+@lilypond[quote,notime,relative=2]
+\override NoteHead #'style = #'mensural
+g\longa g\breve
@end lilypond
Simple duple meter (F.J. Haydn, 1732-1809; or a Croatian folk tune):
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,line-width=13.0\cm]
\relative c'' {
\time 2/4
\key g \major
Simple triple meter:
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,line-width=13.0\cm]
\relative c'' {
\time 3/4
\key c \minor
Simple quadruple meter (French folk tune, @emph{Au clair de la lune}):
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,line-width=13.0\cm]
\relative c'' {
\time 4/4
\key g \major
Simple quintuple meter (B. Marcello, 1686-1739):
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,line-width=13.0\cm]
\relative c'' {
\time 5/4
\key c \major
Compound duple meter (unknown):
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,line-width=13.0\cm]
\relative c' {
\time 6/8
\key f \major
Compound triple meter (J.S. Bach, 1685-1750):
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,line-width=13.0\cm]
\relative c' {
\time 9/8
\key g \major
Compound quadruple meter (P. Yon, 1886-1943):
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,line-width=13.0\cm]
\relative c' {
\time 12/8
\key e \major
First C below the 440 Hz A.
-@lilypond[fragment,notime,ragged-right]
-\set Score.automaticBars = ##f
+@lilypond[quote,notime,relative=1]
\override Staff.Clef #'full-size-change = ##t
-\relative c' {
- \clef bass c1 s
- \clef alto c s
- \clef treble c s
-}
+\clef bass c1 s
+\clef alto c s
+\clef treble c s
@end lilypond
The briefest intelligible and self-contained fragment of a musical
theme or subject.
-@lilypond[line-width=13.0\cm]
+@lilypond[quote,line-width=13.0\cm]
\score{
\relative c'' {
\set Score.implicitTimeSignatureVisibility = #all-invisible
FI: osa.
Greater musical works like @ref{symphony} and @ref{sonata} most often
-consist of several -- more or less -- independant pieces called
+consist of several -- more or less -- independent pieces called
movements.
measures) of the rest. The former style is called @q{Kirchenpausen} in
German, as a reminiscence of its use in Renaissance vocal polyphony.
-@lilypond[fragment,ragged-right]
-\relative c'' {
- a1
- \set Score.skipBars = ##t R1*3
- a1
- \set Score.skipBars = ##t R1*122
- a1
-}
+@lilypond[quote,relative=2]
+a1
+\set Score.skipBars = ##t
+R1*3
+a1
+\set Score.skipBars = ##t
+R1*122
+a1
@end lilypond
@c TODO -- add maxima to this example, in a way that doesn't break it.
-@lilypond[fragment,notime,line-width=13.0\cm]
-%\override Score.TextScript #'font-style = #'large
-\set Score.automaticBars = ##f
+@lilypond[quote,notime,line-width=13.0\cm]
\relative c'' {
\override NoteHead #'style = #'mensural
a\longa_"longa" a\breve_"breve"
@c TODO -- add maxima rest to this example
-@lilypond[fragment,notime,line-width=13.0\cm]
-%\override Score.TextScript #'font-style = #'large
-\set Score.automaticBars = ##f
+@lilypond[quote,notime,line-width=13.0\cm]
\relative c'' {
r\longa_"longa" r\breve_"breve"
r1_"1/1" r2_"1/2" r4_"1/4" s16 r8_"1/8" s16
An augmentation dot after a note multiplies the duration by one and a
half. Another dot adds yet a fourth of the duration.
-@lilypond[fragment,line-width=13.0\cm]
-%\override Score.TextScript #'font-style = #'large
+@lilypond[quote,line-width=13.0\cm]
\relative c'' {
\time 4/4
g4._"pointed" g8 g2 | g4 ~ g8 g g2 \bar "||"
Subdivisions by@w{ }2 (@emph{duplets}) or@w{ }4 (@emph{quadruplets}) of
dotted notes are also frequently used.
-@lilypond[fragment,line-width=13.0\cm]
-%\override Score.TextScript #'font-style = #'large
+@lilypond[quote,line-width=13.0\cm]
\relative c'' {
\time 4/4
\times 2/3 {g8_"triplets" g g} g4 g8 g g4 \bar "||"
}
@end lilypond
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,line-width=13.0\cm]
\relative c'' {
\time 3/4
\times 3/2 {g4_"duplets" g} |
note first while in the music from the preceding baroque and classic periods
the upper note is played first.
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,line-width=13.0\cm]
<<
\context Staff = sa {
-% \override Score.TextScript #'font-style = #'large
\relative c'' {
c2._"pre-1850" b4\trill | c1 \bar "||"
c2._"post-1850" b4\trill | c1 \bar "||"
the
@emph{prall} (inverted mordent).
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,line-width=13.0\cm]
<<
\context Staff = sa {
-% \override Score.TextScript #'font-style = #'large
\relative c'' {
a4_"turn" b\turn c2 \bar "||"
g4_"mordent" a b\mordent a \bar "||"
@end itemize
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,relative=2,line-width=13.0\cm]
\time 4/4
-\relative c' {
- \repeat percent 4 { c4_"Beat (or slash) repeat" }
- \repeat percent 2 { c4 e g b_"Measure repeat" }
- \repeat percent 2 { c,2 es | f4 fis g c_"Multi-measure repeat" | }
-}
+\repeat percent 4 { c4_"Beat (or slash) repeat" }
+\repeat percent 2 { c4 e g b_"Measure repeat" }
+\repeat percent 2 { c,2 es | f4 fis g c_"Multi-measure repeat" | }
@end lilypond
Major and minor keys that have the same key signature.
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
-%\override Score.TextScript #'font-style = #'large
-\relative c' {
- \key es \major
- es1_"e flat major" f g as bes c d es
- \bar "||"
-}
+@lilypond[quote,notime,relative=1,line-width=13.0\cm]
+\key es \major
+es1_"e flat major" f g as bes c d es
+\bar "||"
@end lilypond
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
-%\override Score.TextScript #'font-style = #'large
-\relative c' {
- \key c \minor
- c1_"c minor" d es f g a! b! c \bar "||"
-}
+@lilypond[quote,notime,relative=1,line-width=13.0\cm]
+\key c \minor
+c1_"c minor" d es f g a! b! c
+\bar "||"
@end lilypond
S: repris,
FI: toisto.
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,relative=2,line-width=13.0\cm]
\key g \major
\time 4/4
-\relative c'' {
- \repeat volta 2 {g4 g d' d | e e d2 | c4 c b b | a a g2 }
+\repeat volta 2 {
+ g4 g d' d
+ e4 e d2
+ c4 c b b
+ a a g2
}
@end lilypond
scale as roots of chords. The most important are degrees I = tonic
(T), IV = sub@-do@-mi@-nant (S) and V = dominant (D).
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
+@lilypond[quote,notime,line-width=13.0\cm]
<<
-\context Staff \relative c' {
+\new Staff \relative c' {
c1 d e f g a b c
}
\lyrics {
S: sekund,
FI: sekunti.
-The @ref{interval} between two neigbouring tones of a scale. A
+The @ref{interval} between two neighboring tones of a scale. A
@ref{diatonic scale} consists of alternating @ref{semitone}s and
-@ref{whole tone}s, hence the size of a se@-cond depends on the scale
+@ref{whole tone}s, hence the size of a second depends on the scale
degrees in question.
keyboard -- including black and white keys -- is a semitone. An octave may
be divided into 12@w{ }semitones.
-@lilypond[fragment,notime,line-width=13.0\cm]
-\set Score.automaticBars = ##f
-\relative c'' { g1 gis s a bes s b! c }
+@lilypond[quote,notime,relative=2,line-width=13.0\cm]
+g1 gis s a bes s b! c
@end lilypond
Playing the note(s) short. Staccato is indicated by a dot above or
below the note head.
-@lilypond[fragment,ragged-right]
+@lilypond[quote,relative=2]
\key d \major
\time 4/4
-\relative c'' {
- \partial 8 a8 |
- d4-\staccato cis-\staccato b-\staccato cis-\staccato |
- d2. \bar "||"
-}
+\partial 8 a8 |
+d4-\staccato cis-\staccato b-\staccato cis-\staccato |
+d2.
+\bar "||"
@end lilypond
@node staff
@section staff
+UK: stave,
ES: pentagrama,
I: pentagramma, rigo (musicale),
F: portée,
Vertical line above or below a @ref{note head} shorter than a
whole note.
-@ref{beam}.
-
-@lilypond[fragment,notime,line-width=13.0\cm]
+@lilypond[quote,notime,relative=2]
\set Score.autoBeaming = ##f
-\set Score.automaticBars = ##f
-%\override Score.TextScript #'font-style = #'large
-\relative c'' {
- g2_"1/2" g' s16
- g,4_"1/4" g' s16
- g,8_"1/8" g' s16
- g,16_"1/16" g' s16
-}
+g2_"1/2" g' s16
+g,4_"1/4" g' s16
+g,8_"1/8" g' s16
+g,16_"1/16" g' s16
@end lilypond
@seealso
-None yet.
+@ref{beam}.
@node stringendo
contradiction between the underlaying (normal) pulse and the actual
(abnormal) rhythm.
-@lilypond[fragment,ragged-right]
-\time 4/4
-\relative c' {
- \partial 4
- d8 dis |
- e c'4 e,8 c'4 e,8 c' ( | c2)
-}
+@lilypond[quote,relative=1]
+\time 2/4
+\partial 8 d16 dis
+e16 c'8 e,16 c'8 e,16 c' ~
+c4
@end lilypond
function of uniting them into a single sound (tone) equal to the
combined durations.
-@lilypond[fragment,notime,ragged-right]
-\set Score.automaticBars = ##f
-\relative c'' { g2 ~ g4. }
+@lilypond[quote,notime,relative=2]
+g2 ~ g4. r8
@end lilypond
Shifting a melody up or down in pitch, while keeping the same
relative pitches.
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,line-width=13.0\cm]
\context Staff {
\time 3/4
\relative c'' {
}
@end lilypond
-@lilypond[fragment,line-width=13.0\cm]
+@lilypond[quote,line-width=13.0\cm]
\context Staff {
\time 3/4
\transpose c bes \relative c'' {
@end enumerate
-@lilypond[fragment,notime,ragged-right]
-\set Score.automaticBars = ##f
-%\override Score.TextScript #'font-style = #'large
-\relative c' {
- e2:32_"a"
- f:32 [ e8:16 f:16 g:16 a:16 ] s4
- \repeat tremolo 8 { e32_"b" g }
-}
+@lilypond[quote,notime,relative=1]
+e2:32_"a"
+f:32 [ e8:16 f:16 g:16 a:16 ] s4
+\repeat tremolo 8 { e32_"b" g }
@end lilypond
@tab
Diminished triad, minor seventh
@tab
-@code{dim5m7}
+@code{m7.5-}
@tab
@lilypond[line-width=3\cm,noragged-right, notime]
\chordmode {
- c1:dim5m7
+ c1:m7.5-
}
@end lilypond
@tab
Minor triad, major seventh
@tab
-@code{7m5}
+@code{maj7.5-}
@tab
@lilypond[line-width=3\cm,noragged-right, notime]
\chordmode {
- c1:7m5
+ c1:maj7.5-
}
@end lilypond
@item
Major ninth
@tab
-TODO
+Major seventh, major ninth
@tab
@code{maj9}
@tab
@item
Minor ninth
@tab
-TODO
+Minor seventh, major ninth
@tab
@code{m9}
@tab
@item
Major eleventh
@tab
-TODO
+Major ninth, perfect eleventh
@tab
@code{maj11}
@tab
@item
Minor eleventh
@tab
-TODO
+Minor ninth, perfect eleventh
@tab
@code{m11}
@tab
}
@end lilypond
+@item
+Dominant thirteenth
+@tab
+Dominant ninth, major thirteenth
+@tab
+@code{13}
+@tab
+@lilypond[line-width=3\cm,noragged-right, notime]
+\chordmode {
+ c1:13
+}
+@end lilypond
+
@item
Dominant thirteenth
@tab
@item
Major thirteenth
@tab
-TODO
+Major eleventh, major thirteenth
@tab
@code{maj13.11}
@tab
@item
Minor thirteenth
@tab
-TODO
+Minor eleventh, major thirteenth
@tab
@code{m13.11}
@tab
@item
Suspended second
@tab
-TODO
+Major second, perfect fifth
@tab
@code{sus2}
@tab
@item
Suspended fourth
@tab
-TODO
+Perfect fourth, perfect fifth
@tab
@code{sus4}
@tab
version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.11.62"
+@c \version "2.11.65"
@node Percussion
@section Percussion
tambustaff = {
\override Staff.StaffSymbol #'line-positions = #'( 0 )
\override Staff.BarLine #'bar-size = #3
- \set DrumStaff.instrumentName = "Tambourine"
+ \set DrumStaff.instrumentName = #"Tambourine"
}
\new DrumStaff {
tamtamstaff = {
\override Staff.StaffSymbol #'line-positions = #'( 0 )
\override Staff.BarLine #'bar-size = #3
- \set DrumStaff.instrumentName = "Tamtam"
+ \set DrumStaff.instrumentName = #"Tamtam"
}
\new DrumStaff {
\override DrumStaff.StaffSymbol #'line-positions = #'(-2 3)
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
\override Staff.BarLine #'bar-size = #3
- \set DrumStaff.instrumentName = "Different Bells"
+ \set DrumStaff.instrumentName = #"Different Bells"
}
\new DrumStaff {
}
\new DrumStaff {
- \set DrumStaff.instrumentName = "Grosse Caisse"
+ \set DrumStaff.instrumentName = #"Grosse Caisse"
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
\drumsB }
>>
version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.11.61"
+@c \version "2.11.65"
@node Pitches
\new GrandStaff <<
\new Staff = "violin" {
\relative c'' {
- \set Staff.instrumentName = "Vln"
- \set Staff.midiInstrument = "violin"
+ \set Staff.instrumentName = #"Vln"
+ \set Staff.midiInstrument = #"violin"
% not strictly necessary, but a good reminder
\transposition c'
\new Staff = "clarinet" {
\relative c'' {
\set Staff.instrumentName = \markup { Cl (B\flat) }
- \set Staff.midiInstrument = "clarinet"
+ \set Staff.midiInstrument = #"clarinet"
\transposition bes
\key d \major
clarinet.
@lilypond[verbatim,quote,relative=2]
-\set Staff.instrumentName = "Cl (A)"
+\set Staff.instrumentName = #"Cl (A)"
\key a \major
\transposition a
c d e f
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:
c^"This text is placed close to the previous text"
@end lilypond
-TODO: this example doesn't work any more ?
-By default, outside-staff objects are placed without regard to
-their horizontal distance from the previously-positioned grobs. This
+By default, outside-staff objects are placed only to avoid
+a horizontal collision with previously-positioned grobs. This
can lead to situations in which objects are placed very close to each
-other horizontally. Setting @code{outside-staff-horizontal-padding}
+other horizontally. The vertical spacing between staffs can
+also be set so that outside staff objects are interleaved.
+Setting @code{outside-staff-horizontal-padding}
causes an object to be offset vertically so that such a situation
doesn't occur.
@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
% the markup is too close to the following note
-c2^"Text"
+c4^"Text"
+c4
c''2
% setting outside-staff-horizontal-padding fixes this
R1
\once \override TextScript #'outside-staff-horizontal-padding = #1
-c,,2^"Text"
+c,,4^"Text"
+c4
c''2
@end lilypond
version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.11.64"
+@c \version "2.11.65"
@node Staff notation
@section Staff notation
@lilypond[verbatim,quote,relative=2]
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano"
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff { c1 c }
\new Staff { c1 c }
>>
of @code{shortInstrumentName} is used for all succeeding staves.
@lilypond[verbatim,quote,ragged-right,relative=1]
-\set Staff.instrumentName = "Violin "
-\set Staff.shortInstrumentName = "Vln "
+\set Staff.instrumentName = #"Violin "
+\set Staff.shortInstrumentName = #"Vln "
c4.. g'16 c4.. g'16
\break
c1
@lilypond[verbatim,quote,indent=1.5\cm,relative=2]
<<
\new Staff {
- \set Staff.instrumentName = "Flute"
+ \set Staff.instrumentName = #"Flute"
f2 g4 f
}
\new Staff {
\relative c'' <<
\new Staff {
- \set Staff.instrumentName = "Alto Flute in G"
- \set Staff.shortInstrumentName = "Fl."
+ \set Staff.instrumentName = #"Alto Flute in G"
+ \set Staff.shortInstrumentName = #"Fl."
f2 g4 f \break
g4 f g2
}
\new Staff {
- \set Staff.instrumentName = "Clarinet"
- \set Staff.shortInstrumentName = "Clar."
+ \set Staff.instrumentName = #"Clarinet"
+ \set Staff.shortInstrumentName = #"Clar."
c,4 b c2 \break
c2 b4 c
}
Instrument names may be changed in the middle of a piece:
@lilypond[verbatim,quote,ragged-right,relative=1]
-\set Staff.instrumentName = "First"
-\set Staff.shortInstrumentName = "one"
+\set Staff.instrumentName = #"First"
+\set Staff.shortInstrumentName = #"one"
c1 c c c \break
c1 c c c \break
-\set Staff.instrumentName = "Second"
-\set Staff.shortInstrumentName = "two"
+\set Staff.instrumentName = #"Second"
+\set Staff.shortInstrumentName = #"two"
c1 c c c \break
c1 c c c \break
@end lilypond
(midiInstrument . "bassoon"))
\new Staff \with {
- instrumentName = "Bassoon"
+ instrumentName = #"Bassoon"
}
\relative c' {
\clef tenor
of the @code{\override} command. Neither the context nor the
layout object should be specified; in fact, it would generate
an error to do so. These are both implied by the following
-item in the input stream. So the general syntax of the
+item in the input stream. Note also that an equals sign should
+not be present. So the general syntax of the
@code{\tweak} command is simply
@example
-\tweak #'@var{layout-property} = #@var{value}
+\tweak #'@var{layout-property} #@var{value}
@end example
A @code{\tweak} command can also be used to modify just one in
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main" }
+ alignAboveContext = #"main" }
{ f8 f c }
>>
r4 |
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main"
+ alignAboveContext = #"main"
}
{
\override Staff.Clef #'stencil = ##f
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main"
+ alignAboveContext = #"main"
% Don't print clefs in this staff
\override Clef #'stencil = ##f
% Don't print time signatures in this staff
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main"
+ alignAboveContext = #"main"
\override Clef #'stencil = ##f
\override TimeSignature #'stencil = ##f
% Reduce all font sizes by ~24%
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main"
+ alignAboveContext = #"main"
\override Clef #'stencil = ##f
\override TimeSignature #'stencil = ##f
fontSize = #-2
Override commands are often long and tedious to type, and they
have to be absolutely correct. If the same overrides are to be
used many times it may be worth defining variables to hold them.
+
Suppose we wish to emphasize certain words in lyrics by printing
them in bold italics. The @code{\italic} and @code{\bold}
-commands only work within lyrics if they are also embedded in
-@code{\markup}, which makes them tedious to enter, so as an
-alternative can we instead use the @code{\override} and
-@code{\revert} commands?
+commands only work within lyrics if they are embedded, together with
+the word or words to be modified, within a @code{\markup} block,
+which makes them tedious to enter. The need to embed the words
+themselves prevents their use in simple variables. As an
+alternative can we use @code{\override} and @code{\revert} commands?
@example
@code{\override Lyrics . LyricText #'font-shape = #'italic}
@end example
These would also be extremely tedious to enter if there were many
-words requiring emphasis. So instead we define these as two
-variables, and use them as follows, although normally we would
-perhaps choose shorter names for the variables to make them
-quicker to type:
+words requiring emphasis. But we @emph{can} define these as two
+variables and use those to bracket the words to be emphasized.
+Another advantage of using variables for these overrides is that
+the spaces around the dot are not necessary, since they are not
+being interpreted in @code{\lyricmode} directly. Here's an example
+of this, although in practice we would choose shorter names
+for the variables to make them quicker to type:
@cindex LyricText, example of overriding
@cindex font-shape property, example
@lilypond[quote,verbatim]
emphasize = {
- \override Lyrics . LyricText #'font-shape = #'italic
- \override Lyrics . LyricText #'font-series = #'bold
+ \override Lyrics.LyricText #'font-shape = #'italic
+ \override Lyrics.LyricText #'font-series = #'bold
}
normal = {
- \revert Lyrics . LyricText #'font-shape
- \revert Lyrics . LyricText #'font-series
+ \revert Lyrics.LyricText #'font-shape
+ \revert Lyrics.LyricText #'font-series
}
global = { \time 4/4 \partial 4 \key c \major}
version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.11.61"
+@c \version "2.11.65"
@node Vocal music
@section Vocal music
\new Voice {
\time 3/4 g2 e4 a2 f4 g2.
} \addlyrics {
- \set stanza = "1. "
+ \set stanza = #"1. "
Hi, my name is Bert.
} \addlyrics {
- \set stanza = "2. "
+ \set stanza = #"2. "
Oh, ché -- ri, je t'aime
}
@end lilypond
\new Voice {
\time 3/4 g2 e4 a2 f4 g2.
} \addlyrics {
- \set vocalName = "Bert "
+ \set vocalName = #"Bert "
Hi, my name is Bert.
} \addlyrics {
- \set vocalName = "Ernie "
+ \set vocalName = #"Ernie "
Oh, ché -- ri, je t'aime
}
@end lilypond
}
text = \lyricmode {
-\set stanza = "1." Ma- ry had a lit- tle lamb,
+\set stanza = #"1." Ma- ry had a lit- tle lamb,
its fleece was white as snow.
}
}
text = \lyricmode {
- \set stanza = "1." This is verse one.
+ \set stanza = #"1." This is verse one.
It has two lines.
}
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
TRANSLATORS
Clytie Siddall
+Damien Heurtebise
Francisco Vila
Heikki Junes
Jean-Charles Malahieude
Christian Herzberg
David Bobroff
David Griffel
-Damien Heurtebise
Daniel Hulme
Daniel Johnson
Dominic Neumann
PACKAGE_NAME=LilyPond
MAJOR_VERSION=2
-MINOR_VERSION=11
-PATCH_LEVEL=65
+MINOR_VERSION=12
+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"
+ texidoces = "
+Los textos independientes se pueden disponer en varias columnas
+utilizando instrucciones @code{\\markup}:
+
+"
+ doctitlees = "Elemento de marcado de texto independiente en dos columnas"
+
texidoc = "
Stand-alone text may be arranged in several columns using
@code{\\markup} commands:
%% 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 LSR http://lsr.dsi.unimi.it
+%% 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"
-
texidoc = "
'Tick' bar lines are often used in music where the bar line is used
only for coordination and is not meant to imply any rhythmic stress.
-
-This snippet uses overrides for the @code{'bar-size} and
-@code{'extra-offset} properties of @code{BarLine} to determine,
-respectively, the tick size and its vertical placement.
-
"
doctitle = "Tick bar lines"
} % begin verbatim
-{
- % Use 'bar-size to control the height of the tick,
- % and 'extra-offset to determine its position.
- %
- % With 'extra-offset set to zero, the tick will be
- % centered around the middle line of the staff.
- %
- % Replace Staff.BarLine with Score.BarLine to
- % apply the method to the whole score.
-
- \override Staff.BarLine #'bar-size = #1
- \override Staff.BarLine #'extra-offset = #'(0 . 2)
-
- c'4 d' e' f'
- g'4 f' e' d'
- c'4 d' e' f'
- g'4 f' e' d'
-
- % Revert the overrides to get back a normal
- % bar line at the end.
-
- \revert Staff.BarLine #'bar-size
- \revert Staff.BarLine #'extra-offset
+\relative c' {
+ \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
--- /dev/null
+\version "2.12.0"
+\header {
+ lsrtags = "staff-notation"
+ texidoc = "
+'Tick' bar lines are often used in music where the bar line is used
+only for coordination and is not meant to imply any rhythmic stress.
+"
+ doctitle = "Tick bar lines"
+}
+\relative c' {
+ \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 }
--- /dev/null
+
+\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.12.0"
+
+\paper { ragged-right = ##t }
+
+\relative \new StaffGroup <<
+ \new Staff {
+ c4 \bar "'" c }
+ \new Staff {
+ c c
+ }
+>>
+
-\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
--- /dev/null
+\version "2.12.0"
+
+stemLength = #(define-music-function (parser location length) (number?)
+ "Set the length of the next stem explicitly."
+ #{
+ \once \override Stem #'length-fraction = #$length
+ #}
+)
+
+{
+ \autoBeamOff
+ \time 3/8
+ \override Stem #'flag = #modern-straight-flag
+ \override Stem #'length-fraction = #'1.5
+ r8
+ \acciaccatura {
+ \stemDown
+ \slurUp
+ \stemLength #1
+ gis''8
+ \stemNeutral
+ } \stemLength #1.43 d'8 r16
+ \stemLength #0.95
+ \acciaccatura c''8
+ \stemLength #1.25
+ b'32 r
+ \bar"|.|"
+ \stemLength #1.25
+ <g! cis'>16 \stemLength #1.3 <f'! g''!>8
+}
\ No newline at end of file
--- /dev/null
+\version "2.12.0"
+
+\header {
+ texidoc = "Straight flag styles."
+}
+
+
+% test notes, which will be shown in different styles:
+testnotes = { \autoBeamOff c'8 d'16 c'32 d'64 \acciaccatura {c'8} d'64
+ c''8 d''16 c''32 d''64 \acciaccatura {\stemDown c''8 \stemNeutral} d''64 }
+
+{
+ \override Score.RehearsalMark #'self-alignment-X = #LEFT
+ \time 2/4
+ \mark "modern straight"
+ \override Stem #'flag = #modern-straight-flag
+ \testnotes
+
+ \mark "old straight (large angles)"
+ \override Stem #'flag = #old-straight-flag
+ \testnotes
+%
+% \mark "custom slant"
+% % Custom straight flag. The parameters are:
+% % flag thickness and spacing
+% % up-flag angle and length
+% % down-flag angle and length
+% \override Stem #'flag = #(straight-flag 0.35 0.8 -5 0.5 60 2.0)
+% \testnotes
+}
-\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
}
<<
- \chords {a2 a c c d}
+ \chords {a2 a c c c d}
\new Voice =mel {
\textLengthOn
(place-fret 2 5 4)
(place-fret 1 3 1)
(barre 5 1 3)) }}
- %% simple D chord
+
+
+ %% C major for guitar, with capo on third fret
+ % verbose style
+ c' ^\markup
+ \override #'(size . 1.1) { % 110% of default size
+ \override #'(fret-diagram-details . (
+ (dot-label-font-mag . 0.9)
+ (finger-code . in-dot)
+ (xo-font-magnification . 0.4)
+ (xo-padding . 0.3))) {
+ \fret-diagram-verbose #'((mute 6)
+ (capo 3)
+ (open 5)
+ (place-fret 4 5 1)
+ (place-fret 3 5 2)
+ (place-fret 2 5 3)
+ (open 1)) }}
+
+ %% simple D chord
d' ^\markup
\override #'(fret-diagram-details . (
}
-\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.
zip: $(outdir)/MusicXML-TestSuite-$(TEST_SUITE_VERSION).zip
$(outdir)/MusicXML-TestSuite-$(TEST_SUITE_VERSION).zip: $(MUSICXML_FILES) $(MUSICMXL_FILES)
- $(ZIP) -r $@ $(MUSICXML_FILES) $(MUSICMXL_FILES)
+ $(ZIP) -r $@ $(MUSICXML_FILES:%.xml=$(src-dir)/%.xml) $(MUSICMXL_FILES:%.mxl=$(src-dir)/%.mxl)
}
>>
-\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.56"
-\addChordShape #'bes #"x;1-1-(;3-2;3-3;3-4;1-1-);"
+\addChordShape #'bes #guitar-tuning #"x;1-1-(;3-2;3-3;3-4;1-1-);"
% add chords
\storePredefinedDiagram \chordmode {bes}
#guitar-tuning
- #(chord-shape 'bes)
+ #(chord-shape 'bes guitar-tuning)
\storePredefinedDiagram \chordmode {c}
#guitar-tuning
- #(offset-fret 2 (chord-shape 'bes))
+ #(offset-fret 2 (chord-shape 'bes guitar-tuning))
mychords = \chordmode {
bes
-\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."
--- /dev/null
+
+\header {
+ texidoc = "The @code{toward-stem-shift} property controls the precise
+horizontal location of scripts that are placed above an upstem or below
+a downstem note (@code{0.0} means centered on the note head, @code{1.0}
+means centered on the stem).
+"
+}
+
+\version "2.12.0"
+\relative c''
+{
+ \override Script #'toward-stem-shift = #0.0
+ a4^. c_.
+
+ \override Script #'toward-stem-shift = #1.0
+ a4^. c_.
+}
"
}
-\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 = "小孩子乖乖"
+++ /dev/null
-Pango
------
-
- . Add filter code to avoid font formats we do not want or can support;
- in particular, avoid bitmap fonts.
-
- . Handle TTCs. Since Type 42 fonts don't support TTCs, convert them to
- TTFs on the fly.
}
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 ();
{
m = dashed_bar_line (me, h, hair);
}
+ else if (str == "'")
+ {
+ m = tick_bar_line (me, h, rounded);
+ }
else if (str == ".")
{
m = dot;
Interval (-h / 2, h / 2)), blot);
}
+Stencil
+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);
+
+ Real blot
+ = rounded
+ ? me->layout ()->get_dimension (ly_symbol2scm ("blot-diameter"))
+ : 0.0;
+
+ return Lookup::round_filled_box (Box (Interval (0, line_thick),
+ Interval (h / 2 - th, h / 2 + th)), blot);
+}
+
+
MAKE_SCHEME_CALLBACK (Bar_line, calc_bar_size, 1);
SCM
Bar_line::calc_bar_size (SCM smob)
*/
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 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);
#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;
protected:
void classic_output_aux (SCM output,
int *first_performance_number);
- void output_aux (SCM output_channel,
- bool is_last,
- int *first_page_number,
- int *first_performance_number);
+ int output_aux (SCM output_channel,
+ bool is_last,
+ int *first_page_number,
+ int *first_performance_number);
};
DECLARE_UNSMOB (Paper_book, paper_book)
Scale (vector<Rational> const&);
Scale (Scale const&);
- Rational tones_at_step (int step, int octave = 0) const;
+ Rational tones_at_step (int step, int octave) const;
Rational step_size (int step) const;
int step_count () const;
int normalize_step (int step) 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>
printf ("\n");
printf (Long_option_init::table_string (options_static).c_str ());
printf ("\n");
+ /* Translators, please translate this string as
+ "Report bugs in English via %s",
+ or if there is a LilyPond users list or forum in your language
+ "Report bugs in English via %s or in YOUR_LANG via URI" */
printf (_f ("Report bugs via %s",
"http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs"
).c_str ());
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;
}
{
vsize end = last_break_position ();
- message ("Computing line breaks...");
+ message (_ ("Calculating line breaks..."));
set_to_ideal_line_configuration (0, end);
break_into_pieces (0, end, current_configuration (0));
- message (_ ("Computing page breaks..."));
+ message (_ ("Calculating page breaks..."));
vsize first_page_num = robust_scm2int (book_->paper_->c_variable ("first-page-number"), 1);
Page_spacing_result res = pack_systems_on_least_pages (0, first_page_num);
SCM lines = systems ();
*/
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;
}
SCM
Open_type_font::make_otf (string str)
{
- FT_Face face = open_ft_face (str);
+ FT_Face face = open_ft_face (str, 0 /* index */);
Open_type_font *otf = new Open_type_font (face);
return otf->self_scm ();
#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
performances_ = scm_cons (s, performances_);
}
-void
+int
Paper_book::output_aux (SCM output_channel,
bool is_last,
int *first_page_number,
int *first_performance_number)
{
+ int page_nb = 0;
if (scm_is_pair (performances_))
{
SCM proc = ly_lily_module_constant ("write-performances-midis");
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)));
- pbookpart->output_aux (output_channel,
- is_last_part,
- first_page_number,
- first_performance_number);
+ page_nb += pbookpart->output_aux (output_channel,
+ is_last_part,
+ first_page_number,
+ first_performance_number);
}
}
else
{
if (scores_ == SCM_EOL)
- return;
+ return 0;
paper_->set_variable (ly_symbol2scm ("first-page-number"),
scm_long2num (*first_page_number));
paper_->set_variable (ly_symbol2scm ("is-last-bookpart"),
ly_bool2scm (is_last));
/* Generate all stencils to trigger font loads. */
- *first_page_number += scm_ilength (pages ());
+ page_nb = scm_ilength (pages ());
+ *first_page_number += page_nb;
}
+ return page_nb;
}
void
{
int first_page_number = robust_scm2int (paper_->c_variable ("first-page-number"), 1);
int first_performance_number = 0;
- output_aux (output_channel,
- true,
- &first_page_number,
- &first_performance_number);
-
+ if (!output_aux (output_channel,
+ true,
+ &first_page_number,
+ &first_performance_number))
+ return;
+
SCM scopes = SCM_EOL;
if (ly_is_module (header_))
scopes = scm_cons (header_, scopes);
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 ()));
}
- else
+ else if (scm_is_pair (scores_))
{
SCM proc = paper_->c_variable ("page-breaking-wrapper");
pages_ = scm_apply_0 (proc, scm_list_1 (self_scm ()));
}
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);
if (be_verbose_global)
progress_indication ("[" + file_name);
- FT_Face face = open_ft_face (file_name);
+ FT_Face face = open_ft_face (file_name, 0 /* index */);
string table = get_otf_table (face, "CFF ");
SCM asscm = scm_from_locale_stringn ((char *) table.data (),
}
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);
}
"positioning-done "
"script-priority "
"script-stencil "
+ "toward-stem-shift "
"slur "
"slur-padding "
);
#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");
type = "|.|";
else if (type == ":|.:")
type = "|.";
+ else if (type == "'")
+ type = "";
return ly_string2scm (type);
}
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 ());
'Back to Documentation Index' => 'Retour à l\'accueil de la documentation',
};
$LY_LANGUAGES->{'es'} = {
- 'Back to Documentation Index' => '',
+ 'Back to Documentation Index' => 'Volver al índice de la documentación',
};
$LY_LANGUAGES->{'de'} = {
'Back to Documentation Index' => '',
%}
-\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)))
#(define fretboard-table (make-hash-table 100))
+#(define chord-shape-table (make-hash-table 100))
\include "scale-definitions-init.ly"
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.56"
-
-%%%%% define storage structures
-
-% base-chord-shapes is an alist of chord shapes
-% in the form of fret-diagram-terse strings with
-% scheme symbols as keys. For convenience, the
-% symbols are LilyPond chordmode chord descriptions,
+\version "2.12.0"
+
+% chord-shape-table is a hash-table of chord shapes
+% in the form of diagram-descriptions that can be
+% fret-diagram-verbose markup-llsts or
+% fret-diagram-terse strings.
+% The hash keys are pairs of scheme symbols and
+% string tunings. For convenience, the symbols in
+% this file are LilyPond chordmode chord descriptions,
% but that is unnecessary.
-#(define base-chord-shapes '())
-
-
% music function for adding a chord shape to
-% base-chord-shapes
+% chord-shape-table
addChordShape =
-#(define-music-function (parser location key-symbol shape-string)
- (symbol? string?)
- "Add chord shape @code{shape-string} to the @code{base-chord-shapes}
-alist with the key @code{key-symbol}."
- (set! base-chord-shapes
- (acons key-symbol shape-string base-chord-shapes))
+#(define-music-function (parser location key-symbol tuning shape-definition)
+ (symbol? pair? string-or-pair?)
+ "Add chord shape @code{shape-definition} to the @code{chord-shape-table}
+hash with the key @code{(cons key-symbol tuning)}."
+ (hash-set! chord-shape-table
+ (cons key-symbol tuning)
+ shape-definition)
(make-music 'SequentialMusic 'void #t))
-% for convenience, to eliminate storage list in .ly references
-
-#(define (chord-shape shape-code)
- (get-chord-shape shape-code base-chord-shapes))
+#(define (chord-shape shape-code tuning)
+ (get-chord-shape shape-code tuning chord-shape-table))
% music function for adding a predefined diagram to
% fretboard-table
storePredefinedDiagram =
-#(define-music-function (parser location chord tuning terse-definition)
- (ly:music? list? string?)
- "Add predefined fret diagram defined by fret-diagram-terse definition
-string @code{terse-definition} for the chord pitches @code{chord} and
+#(define-music-function (parser location chord tuning diagram-definition)
+ (ly:music? pair? string-or-pair?)
+ "Add predefined fret diagram defined by @code{diagram-definition}
+for the chord pitches @code{chord} and
the stringTuning @code{tuning}."
(let* ((pitches (event-chord-pitches
(car (extract-named-music chord 'EventChord))))
- (hash-key (cons tuning pitches)))
+ (hash-key (cons tuning pitches))
+ (verbose-definition (if (string? diagram-definition)
+ (parse-terse-string diagram-definition)
+ diagram-definition)))
(hash-set! fretboard-table
hash-key
- (parse-terse-string terse-definition)))
+ verbose-definition))
(make-music 'SequentialMusic 'void #t))
%%% Add basic chordshapes
-\version "2.11.56"
+\version "2.12.0"
-\addChordShape #'f #"1-1-(;3-3;3-4;2-2;1-1;1-1-);"
-\addChordShape #'f:m #"1-1-(;3-3;3-4;1-1;1-1;1-1-);"
-\addChordShape #'f:7 #"1-1-(;3-3;1-1;2-2;1-1;1-1-);"
-\addChordShape #'f:m7 #"1-1-(;3-3;1-1;1-1;1-1;1-1-);"
-\addChordShape #'bes #"x;1-1-(;3-2;3-3;3-4;1-1-);"
-\addChordShape #'bes:m #"x;1-1-(;3-3;3-4;2-2;1-1-);"
-\addChordShape #'bes:m7 #"x;1-1-(;3-3;1-1;2-2;1-1-);"
-\addChordShape #'bes:7 #"x;1-1-(;3-2;1-1;3-3;1-1-);"
-\addChordShape #'bes:maj7 #"x;1-1;3-3;2-2;3-4;x;"
-\addChordShape #'c:dim #"x;x;1-1;2-3;1-2;2-4;"
-\addChordShape #'c:aug #"x;x;2-2;1-1-(;1-1-);4-4;"
-\addChordShape #'cis #"x;x;3-3;1-1-(;2-2;1-1-);"
-\addChordShape #'ees:dim #"x;x;1-1;2-3;1-2;2-4;"
-\addChordShape #'a:dim #"x;x;1-1;2-3;1-2;2-4;"
+\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-);"
+\addChordShape #'f:7 #guitar-tuning #"1-1-(;3-3;1-1;2-2;1-1;1-1-);"
+\addChordShape #'f:m7 #guitar-tuning #"1-1-(;3-3;1-1;1-1;1-1;1-1-);"
+\addChordShape #'bes #guitar-tuning #"x;1-1-(;3-2;3-3;3-4;1-1-);"
+\addChordShape #'bes:m #guitar-tuning #"x;1-1-(;3-3;3-4;2-2;1-1-);"
+\addChordShape #'bes:m7 #guitar-tuning #"x;1-1-(;3-3;1-1;2-2;1-1-);"
+\addChordShape #'bes:7 #guitar-tuning #"x;1-1-(;3-2;1-1;3-3;1-1-);"
+\addChordShape #'bes:maj7 #guitar-tuning #"x;1-1;3-3;2-2;3-4;x;"
+\addChordShape #'c:dim #guitar-tuning #"x;x;1-1;2-3;1-2;2-4;"
+\addChordShape #'c:aug #guitar-tuning #"x;x;2-2;1-1-(;1-1-);4-4;"
+\addChordShape #'cis #guitar-tuning #"x;x;3-3;1-1-(;2-2;1-1-);"
+\addChordShape #'ees:dim #guitar-tuning #"x;x;1-1;2-3;1-2;2-4;"
+\addChordShape #'a:dim #guitar-tuning #"x;x;1-1;2-3;1-2;2-4;"
%%% Add predefined chords
#"x;3-3;2-2;o;1-1;o;"
\storePredefinedDiagram \chordmode {c:m}
#guitar-tuning
- #(offset-fret 2 (chord-shape 'bes:m))
+ #(offset-fret 2 (chord-shape 'bes:m guitar-tuning))
\storePredefinedDiagram \chordmode {c:aug}
#guitar-tuning
- #(chord-shape 'c:aug)
+ #(chord-shape 'c:aug guitar-tuning)
\storePredefinedDiagram \chordmode {c:dim}
#guitar-tuning
- #(chord-shape 'c:dim)
+ #(chord-shape 'c:dim guitar-tuning)
\storePredefinedDiagram \chordmode {c:7}
#guitar-tuning
#"o;3-3;2-2;3-4;1-1;o;"
#"x;3-3;2-2;o;o;o;"
\storePredefinedDiagram \chordmode {c:m7}
#guitar-tuning
- #(offset-fret 2 (chord-shape 'bes:m7))
+ #(offset-fret 2 (chord-shape 'bes:m7 guitar-tuning))
%%%% cis chords
%
\storePredefinedDiagram \chordmode {cis}
#guitar-tuning
- #(chord-shape 'cis)
+ #(chord-shape 'cis guitar-tuning)
\storePredefinedDiagram \chordmode {cis:m}
#guitar-tuning
#"x;x;2-2;1-1;2-3;o;"
#"x;4-4;3-3;2-1;2-2;x;"
\storePredefinedDiagram \chordmode {cis:dim}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'c:dim))
+ #(offset-fret 1 (chord-shape 'c:dim guitar-tuning))
\storePredefinedDiagram \chordmode {cis:7}
#guitar-tuning
#"x;x;3-2;4-3;2-1;4-4;"
#"x;4-4;3-3;2-1;2-2;x;"
\storePredefinedDiagram \chordmode {des:dim}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'c:dim))
+ #(offset-fret 1 (chord-shape 'c:dim guitar-tuning))
\storePredefinedDiagram \chordmode {des:7}
#guitar-tuning
#"x;x;3-2;4-3;2-1;4-4;"
%
\storePredefinedDiagram \chordmode {dis}
#guitar-tuning
- #(offset-fret 2 (chord-shape 'cis))
+ #(offset-fret 2 (chord-shape 'cis guitar-tuning))
\storePredefinedDiagram \chordmode {dis:m}
#guitar-tuning
#"x;x;4-3;3-2;4-4;1-1;"
#"3-3;2-2;1-1;o;o;3-4"
\storePredefinedDiagram \chordmode {dis:dim}
#guitar-tuning
- #(chord-shape 'ees:dim)
+ #(chord-shape 'ees:dim guitar-tuning)
\storePredefinedDiagram \chordmode {dis:7}
#guitar-tuning
#"x;x;1-1;3-3;2-2;3-4;"
%
\storePredefinedDiagram \chordmode {ees}
#guitar-tuning
- #(offset-fret 2 (chord-shape 'cis))
+ #(offset-fret 2 (chord-shape 'cis guitar-tuning))
\storePredefinedDiagram \chordmode {ees:m}
#guitar-tuning
#"x;x;4-3;3-2;4-4;1-1;"
#"3-3;2-2;1-1;o;o;3-4"
\storePredefinedDiagram \chordmode {ees:dim}
#guitar-tuning
- #(chord-shape 'ees:dim)
+ #(chord-shape 'ees:dim guitar-tuning)
\storePredefinedDiagram \chordmode {ees:7}
#guitar-tuning
#"x;x;1-1;3-3;2-2;3-4;"
#"o;3-3;2-2;1-1;x;x;"
\storePredefinedDiagram \chordmode {e:dim}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'ees:dim))
+ #(offset-fret 1 (chord-shape 'ees:dim guitar-tuning))
\storePredefinedDiagram \chordmode {e:7}
#guitar-tuning
#"o;2-2;o;1-1;o;o;"
%
\storePredefinedDiagram \chordmode {f}
#guitar-tuning
- #(chord-shape 'f)
+ #(chord-shape 'f guitar-tuning)
\storePredefinedDiagram \chordmode {f:m}
#guitar-tuning
- #(chord-shape 'f:m)
+ #(chord-shape 'f:m guitar-tuning)
\storePredefinedDiagram \chordmode {f:aug}
#guitar-tuning
#"x;x;1-1;4-3;4-4;3-2;"
#"x;x;o;1-1;o;1-2;"
\storePredefinedDiagram \chordmode {f:7}
#guitar-tuning
- #(chord-shape 'f:7)
+ #(chord-shape 'f:7 guitar-tuning)
\storePredefinedDiagram \chordmode {f:maj7}
#guitar-tuning
#"x;3-3;3-4;2-2;1-1;"
\storePredefinedDiagram \chordmode {f:m7}
#guitar-tuning
- #(chord-shape 'f:m7)
+ #(chord-shape 'f:m7 guitar-tuning)
%%%% fis chords
%
\storePredefinedDiagram \chordmode {fis}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'f))
+ #(offset-fret 1 (chord-shape 'f guitar-tuning))
\storePredefinedDiagram \chordmode {fis:m}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'f:m))
+ #(offset-fret 1 (chord-shape 'f:m guitar-tuning))
\storePredefinedDiagram \chordmode {fis:aug}
#guitar-tuning
#"2-2;1-1;o;3-4-(;3-4-);2-3;"
#"x;x;1-1;2-3;1-2;2-4;"
\storePredefinedDiagram \chordmode {fis:7}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'f:7))
+ #(offset-fret 1 (chord-shape 'f:7 guitar-tuning))
\storePredefinedDiagram \chordmode {fis:maj7}
#guitar-tuning
#"x;x;4-4;3-3;2-2;1-1;"
\storePredefinedDiagram \chordmode {fis:m7}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'f:m7))
+ #(offset-fret 1 (chord-shape 'f:m7 guitar-tuning))
%%%% ges chords
%
\storePredefinedDiagram \chordmode {ges}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'f))
+ #(offset-fret 1 (chord-shape 'f guitar-tuning))
\storePredefinedDiagram \chordmode {ges:m}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'f:m))
+ #(offset-fret 1 (chord-shape 'f:m guitar-tuning))
\storePredefinedDiagram \chordmode {ges:aug}
#guitar-tuning
#"2-2;1-1;o;3-4-(;3-4-);2-3;"
#"x;x;1-1;2-3;1-2;2-4;"
\storePredefinedDiagram \chordmode {ges:7}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'f:7))
+ #(offset-fret 1 (chord-shape 'f:7 guitar-tuning))
\storePredefinedDiagram \chordmode {ges:maj7}
#guitar-tuning
#"x;x;4-4;3-3;2-2;1-1;"
\storePredefinedDiagram \chordmode {ges:m7}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'f:m7))
+ #(offset-fret 1 (chord-shape 'f:m7 guitar-tuning))
%%%% g chords
%
#"3-2;2-1;o;o;o;3-3;"
\storePredefinedDiagram \chordmode {g:m}
#guitar-tuning
- #(offset-fret 2 (chord-shape 'f:m))
+ #(offset-fret 2 (chord-shape 'f:m guitar-tuning))
\storePredefinedDiagram \chordmode {g:aug}
#guitar-tuning
#"x;x;5-1;8-3;8-4;7-2;"
#"x;x;5-4;4-3;3-2;2-1;"
\storePredefinedDiagram \chordmode {g:m7}
#guitar-tuning
- #(offset-fret 2 (chord-shape 'f:m7))
+ #(offset-fret 2 (chord-shape 'f:m7 guitar-tuning))
%%%% gis chords
%
\storePredefinedDiagram \chordmode {gis}
#guitar-tuning
- #(offset-fret 3 (chord-shape 'f))
+ #(offset-fret 3 (chord-shape 'f guitar-tuning))
\storePredefinedDiagram \chordmode {gis:m}
#guitar-tuning
- #(offset-fret 3 (chord-shape 'f:m))
+ #(offset-fret 3 (chord-shape 'f:m guitar-tuning))
\storePredefinedDiagram \chordmode {gis:aug}
#guitar-tuning
#"o;3-4;2-3;1-1;1-2;o;"
#"x;x;o;1-1;o;1-2;"
\storePredefinedDiagram \chordmode {gis:7}
#guitar-tuning
- #(offset-fret 3 (chord-shape 'f:7))
+ #(offset-fret 3 (chord-shape 'f:7 guitar-tuning))
\storePredefinedDiagram \chordmode {gis:maj7}
#guitar-tuning
#"x;x;1-1-(;1-1;1-1-);3-3;"
\storePredefinedDiagram \chordmode {gis:m7}
#guitar-tuning
- #(offset-fret 3 (chord-shape 'f:m7))
+ #(offset-fret 3 (chord-shape 'f:m7 guitar-tuning))
%%%% aes chords
%
\storePredefinedDiagram \chordmode {aes}
#guitar-tuning
- #(offset-fret 3 (chord-shape 'f))
+ #(offset-fret 3 (chord-shape 'f guitar-tuning))
\storePredefinedDiagram \chordmode {aes:m}
#guitar-tuning
- #(offset-fret 3 (chord-shape 'f:m))
+ #(offset-fret 3 (chord-shape 'f:m guitar-tuning))
\storePredefinedDiagram \chordmode {aes:aug}
#guitar-tuning
#"o;3-4;2-3;1-1;1-2;o;"
#"x;x;o;1-1;o;1-2;"
\storePredefinedDiagram \chordmode {aes:7}
#guitar-tuning
- #(offset-fret 3 (chord-shape 'f:7))
+ #(offset-fret 3 (chord-shape 'f:7 guitar-tuning))
\storePredefinedDiagram \chordmode {aes:maj7}
#guitar-tuning
#"x;x;1-1-(;1-1;1-1-);3-3;"
\storePredefinedDiagram \chordmode {aes:m7}
#guitar-tuning
- #(offset-fret 3 (chord-shape 'f:m7))
+ #(offset-fret 3 (chord-shape 'f:m7 guitar-tuning))
%%%% a chords
%
#"x;o;3-4;2-2;2-3;1-1;"
\storePredefinedDiagram \chordmode {a:dim}
#guitar-tuning
- #(chord-shape 'a:dim)
+ #(chord-shape 'a:dim guitar-tuning)
\storePredefinedDiagram \chordmode {a:7}
#guitar-tuning
#"x;o;2-1;o;2-3;o;"
%
\storePredefinedDiagram \chordmode {ais}
#guitar-tuning
- #(chord-shape 'bes)
+ #(chord-shape 'bes guitar-tuning)
\storePredefinedDiagram \chordmode {ais:m}
#guitar-tuning
- #(chord-shape 'bes:m)
+ #(chord-shape 'bes:m guitar-tuning)
\storePredefinedDiagram \chordmode {ais:aug}
#guitar-tuning
#"2-2;1-1;o;3-4-(;3-4-);2-3;"
\storePredefinedDiagram \chordmode {ais:dim}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'a:dim))
+ #(offset-fret 1 (chord-shape 'a:dim guitar-tuning))
\storePredefinedDiagram \chordmode {ais:7}
#guitar-tuning
- #(chord-shape 'bes:7)
+ #(chord-shape 'bes:7 guitar-tuning)
\storePredefinedDiagram \chordmode {ais:maj7}
#guitar-tuning
#"x;1-1;3-3;2-2;3-4;x;"
\storePredefinedDiagram \chordmode {ais:m7}
#guitar-tuning
- #(chord-shape 'bes:m7)
+ #(chord-shape 'bes:m7 guitar-tuning)
%%%% bes chords
%
\storePredefinedDiagram \chordmode {bes}
#guitar-tuning
- #(chord-shape 'bes)
+ #(chord-shape 'bes guitar-tuning)
\storePredefinedDiagram \chordmode {bes:m}
#guitar-tuning
- #(chord-shape 'bes:m)
+ #(chord-shape 'bes:m guitar-tuning)
\storePredefinedDiagram \chordmode {bes:aug}
#guitar-tuning
#"2-2;1-1;o;3-4-(;3-4-);2-3;"
\storePredefinedDiagram \chordmode {bes:dim}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'a:dim))
+ #(offset-fret 1 (chord-shape 'a:dim guitar-tuning))
\storePredefinedDiagram \chordmode {bes:7}
#guitar-tuning
- #(chord-shape 'bes:7)
+ #(chord-shape 'bes:7 guitar-tuning)
\storePredefinedDiagram \chordmode {bes:maj7}
#guitar-tuning
#"x;1-1;3-3;2-2;3-4;x;"
\storePredefinedDiagram \chordmode {bes:m7}
#guitar-tuning
- #(chord-shape 'bes:m7)
+ #(chord-shape 'bes:m7 guitar-tuning)
%%%% b chords
%
\storePredefinedDiagram \chordmode {b}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'bes))
+ #(offset-fret 1 (chord-shape 'bes guitar-tuning))
\storePredefinedDiagram \chordmode {b:m}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'bes:m))
+ #(offset-fret 1 (chord-shape 'bes:m guitar-tuning))
\storePredefinedDiagram \chordmode {b:aug}
#guitar-tuning
#"x;3-2;2-1;o;o;x;"
#"x;x;o;1-1;o;1-2;"
\storePredefinedDiagram \chordmode {b:7}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'bes:7))
+ #(offset-fret 1 (chord-shape 'bes:7 guitar-tuning))
\storePredefinedDiagram \chordmode {b:maj7}
#guitar-tuning
#"x;2-1;4-3;3-2;4-4;x;"
\storePredefinedDiagram \chordmode {b:m7}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'bes:m7))
+ #(offset-fret 1 (chord-shape 'bes:m7 guitar-tuning))
-\version "2.11.61"
+\version "2.12.0"
%
% Add ninth chords to to predefined fret diagrams for standard guitar tunings
%
%
-\addChordShape #'c:9 #"x;3-2;2-1;3-3-(;3-3;3-3-);"
-\addChordShape #'f:9 #"1-1-(;3-3;1-1;2-2;1-1-);3-4;"
+\addChordShape #'c:9 #guitar-tuning #"x;3-2;2-1;3-3-(;3-3;3-3-);"
+\addChordShape #'f:9 #guitar-tuning #"1-1-(;3-3;1-1;2-2;1-1-);3-4;"
\storePredefinedDiagram \chordmode {c:9}
#guitar-tuning
- #(chord-shape 'c:9)
+ #(chord-shape 'c:9 guitar-tuning)
\storePredefinedDiagram \chordmode {cis:9}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'c:9))
+ #(offset-fret 1 (chord-shape 'c:9 guitar-tuning))
\storePredefinedDiagram \chordmode {des:9}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'c:9))
+ #(offset-fret 1 (chord-shape 'c:9 guitar-tuning))
\storePredefinedDiagram \chordmode {d:9}
#guitar-tuning
- #(offset-fret 2 (chord-shape 'c:9))
+ #(offset-fret 2 (chord-shape 'c:9 guitar-tuning))
\storePredefinedDiagram \chordmode {dis:9}
#guitar-tuning
- #(offset-fret 3 (chord-shape 'c:9))
+ #(offset-fret 3 (chord-shape 'c:9 guitar-tuning))
\storePredefinedDiagram \chordmode {ees:9}
#guitar-tuning
- #(offset-fret 3 (chord-shape 'c:9))
+ #(offset-fret 3 (chord-shape 'c:9 guitar-tuning))
\storePredefinedDiagram \chordmode {e:9}
#guitar-tuning
#"o;2-2;o;1-1;o;2-3;"
\storePredefinedDiagram \chordmode {f:9}
#guitar-tuning
- #(chord-shape 'f:9)
+ #(chord-shape 'f:9 guitar-tuning)
\storePredefinedDiagram \chordmode {fis:9}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'f:9))
+ #(offset-fret 1 (chord-shape 'f:9 guitar-tuning))
\storePredefinedDiagram \chordmode {ges:9}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'f:9))
+ #(offset-fret 1 (chord-shape 'f:9 guitar-tuning))
\storePredefinedDiagram \chordmode {g:9}
#guitar-tuning
- #(offset-fret 2 (chord-shape 'f:9))
+ #(offset-fret 2 (chord-shape 'f:9 guitar-tuning))
\storePredefinedDiagram \chordmode {gis:9}
#guitar-tuning
- #(offset-fret 3 (chord-shape 'f:9))
+ #(offset-fret 3 (chord-shape 'f:9 guitar-tuning))
\storePredefinedDiagram \chordmode {aes:9}
#guitar-tuning
- #(offset-fret 3 (chord-shape 'f:9))
+ #(offset-fret 3 (chord-shape 'f:9 guitar-tuning))
\storePredefinedDiagram \chordmode {a:9}
#guitar-tuning
- #(offset-fret 4 (chord-shape 'f:9))
+ #(offset-fret 4 (chord-shape 'f:9 guitar-tuning))
\storePredefinedDiagram \chordmode {ais:9}
#guitar-tuning
- #(offset-fret 5 (chord-shape 'f:9))
+ #(offset-fret 5 (chord-shape 'f:9 guitar-tuning))
\storePredefinedDiagram \chordmode {bes:9}
#guitar-tuning
- #(offset-fret 5 (chord-shape 'f:9))
+ #(offset-fret 5 (chord-shape 'f:9 guitar-tuning))
\storePredefinedDiagram \chordmode {b:9}
#guitar-tuning
- #(offset-fret -1 (chord-shape 'c:9))
+ #(offset-fret -1 (chord-shape 'c:9 guitar-tuning))
% 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");
fet_begingroup ("accidentals");
+%
+% Draw an arrow
+%
+% * `stemslant' gives the direction of the stem's left boundary
+% (needed for brushed stems, equals "up" for straight stems)
+% * `extend' is used to make the stem longer or shorter (if negative);
+% different kinds of accidentals need different values here
+%
+def draw_arrow (expr attach, stemwidth, stemslant, extend, pointingdown) =
+begingroup;
+ save htip; % tip height
+ save wwing; % wing `radius'
+ save angle_wing_bot, angle_wing_top, angle_tip;
+ save upshift;
+ clearxy;
+
+ wwing := 0.26 stemwidth;
+ htip := staff_space * 0.85 + stafflinethickness - wwing;
+
+ % `flip' is used to reflect the arrow vertically
+ % if arrow points downward
+ transform flip;
+ if pointingdown:
+ flip = identity reflectedabout (origin, right);
+ else:
+ flip = identity;
+ fi;
+
+ z1 = attach shifted (-stemwidth / 2, 0);
+ upshift := max (0, wwing + 0.1 staff_space + extend);
+ z2 = z1 shifted (((unitvector stemslant)
+ scaled upshift) transformed flip);
+
+ z7 = attach shifted ((stemwidth/2),0);
+ z6 = z7 shifted (((unitvector (-xpart stemslant, ypart stemslant))
+ scaled upshift) transformed flip);
+ z2 - z3 = ( 0.38 staff_space, 0.05 htip) transformed flip;
+ z6 - z5 = (-0.38 staff_space, 0.05 htip) transformed flip;
+
+ z4 = attach shifted ((-0.2 stemwidth, upshift + htip)
+ transformed flip);
+ z4'= attach shifted (( 0.2 stemwidth, upshift + htip)
+ transformed flip);
+
+ % `angle_wing_bot' is the angle at which the arc
+ % from z2 to z3a enters z3a
+ % `angle_wing_top' is the angle at which the arc
+ % from z3b to z4 leaves z3b
+ % `angle_tip' is the angle at which the arc
+ % from z4 to z4' leaves z4
+ angle_wing_bot = 30;
+ angle_wing_top = 55;
+ angle_tip = 68;
+
+ z3a = z3 shifted ((((dir angle_wing_bot) rotated -90)
+ scaled wwing) transformed flip);
+ z3b = z3 shifted ((((dir angle_wing_top) rotated 90)
+ scaled wwing) transformed flip);
+
+ z5a = z5 shifted ((((dir (180 - angle_wing_bot)) rotated 90)
+ scaled wwing) transformed flip);
+ z5b = z5 shifted ((((dir (180 - angle_wing_top)) rotated -90)
+ scaled wwing) transformed flip);
+
+ % Draw the arrow
+ pickup pencircle scaled 1;
+ fill z1
+ -- z2{stemslant transformed flip}
+ .. {(-dir angle_wing_bot) transformed flip}z3a
+ .. z3b{(dir angle_wing_top) transformed flip}
+ .. z4{(dir angle_tip) transformed flip}
+ .. z4'{(dir (-angle_tip)) transformed flip}
+ .. {(dir (-angle_wing_top)) transformed flip}z5b
+ .. z5a{(-dir (-angle_wing_bot)) transformed flip}
+ .. z6{((-stemslant) reflectedabout (origin, up)) transformed flip}
+ -- z7
+ -- cycle;
+
+ labels (range 0 thru 7, 4', 3a, 3b, 5a, 5b);
+endgroup;
+enddef;
save remember_pic;
picture remember_pic;
enddef;
-fet_beginchar ("Sharp", "sharp");
+def draw_sharp(expr arrowup, arrowdown) =
save stem, stemx, stemwidth;
save outer_space, interbeam;
+ save stemlength, extendleft, extendright, height, depth;
stemwidth# := stafflinethickness# + .05 staff_space#;
define_whole_blacker_pixels (stemwidth);
interbeam := 1.05 staff_space_rounded;
- set_char_box (0, 1.1 staff_space#,
- 1.5 staff_space#, 1.5 staff_space#);
+ stemlength# := 1.5 staff_space#;
+ define_pixels (stemlength);
+
+ height# = stemlength#;
+ depth# = stemlength#;
+ extendright# = 0;
+ extendleft# = 0;
+ if arrowup:
+ height# := height# + 1.2 staff_space#;
+ extendright# := extendright# + 1.5 stafflinethickness#;
+ fi;
+ if arrowdown:
+ depth# := depth# + 1.2 staff_space#;
+ extendleft# := extendleft# + 1.5 stafflinethickness#;
+ fi;
+ define_pixels (extendleft, extendright);
+ set_char_box (extendleft#, 1.1 staff_space#, depth#, height#);
stem := 7 / 16 * w;
stemx := hround stem;
draw_meta_sharp (w, -.5 interbeam);
draw_meta_sharp (w, -.5 interbeam + vround interbeam);
+ % expand the charbox so that it encloses the whole arrow;
+ % this must not happen earlier because some commands above
+ % still rely on the old width
+ w := w + extendright;
+
pickup pencircle scaled stemwidth;
lft x5 = lft x6 = outer_space;
lft x7 = lft x8 = outer_space + stemx;
- bot y5 = -d;
+ bot y5 = -stemlength;
top y6 = vround (1.5 staff_space - stem * beamslope);
bot y7 = -top y6 + feta_space_shift;
- top y8 = h;
+ top y8 = stemlength;
- labels (5, 6, 7, 8);
+ labels (5, 6, 7, 8);
draw_gridline (z5, z6, stemwidth);
draw_gridline (z7, z8, stemwidth);
+ if arrowup:
+ draw_arrow (z8, stemwidth, up,
+ stafflinethickness / 2 + stemwidth / 2, false);
+ fi;
+ if arrowdown:
+ draw_arrow (z5, stemwidth, up,
+ stafflinethickness / 2 + stemwidth / 2, true);
+ fi;
+
remember_pic := currentpicture;
draw_staff (-2, 2, 0);
+enddef;
+
+
+fet_beginchar ("Sharp", "sharp");
+ draw_sharp (false, false);
+fet_endchar;
+
+
+draw_shifted_too;
+
+
+fet_beginchar ("Arrowed Sharp (arrow up)", "sharp.arrowup");
+ draw_sharp (true, false);
+fet_endchar;
+
+
+draw_shifted_too;
+
+
+fet_beginchar ("Arrowed Sharp (arrow down)", "sharp.arrowdown");
+ draw_sharp (false, true);
+fet_endchar;
+
+
+draw_shifted_too;
+
+
+fet_beginchar ("Arrowed Sharp (arrows up and down)", "sharp.arrowboth");
+ draw_sharp (true, true);
fet_endchar;
% The stems of the natural are brushed (at least, in Barenreiter SCS)
%
-fet_beginchar ("Natural", "natural");
+def draw_natural (expr arrowup, arrowdown) =
save stemwidth, top_stem_thick;
save ne, pat_top, pat_bottom;
+ save depth, height, extendleft, extendright, stemlength;
+ save brush_scale_up, brush_scale_down;
pair ne;
path pat_top, pat_bottom;
stemwidth# = 0.09 staff_space# + .5 stafflinethickness#;
define_whole_blacker_pixels (top_stem_thick, stemwidth);
- set_char_box (0, 2/3 staff_space#,
- 1.5 staff_space#, 1.5 staff_space#);
+ stemlength# = 1.5 staff_space#;
+ define_pixels (stemlength);
+
+ height# = stemlength#;
+ depth# = stemlength#;
+ extendleft# = 0;
+ extendright# = 0;
+ if arrowup:
+ extendleft# := 3 stafflinethickness#;
+ height# := height# + 1.2 staff_space#;
+ fi;
+ if arrowdown:
+ extendright# := 3.15 stafflinethickness#;
+ depth# := depth# + 1.2 staff_space#;
+ fi;
+ define_pixels (extendright);
+
+ set_char_box (extendleft#, 2/3 staff_space#, depth#, height#);
d := d - feta_space_shift;
pickup pencircle scaled stemwidth;
+ brush_scale_up := 1.0;
+ brush_scale_down := 1.0;
+ % to look nice, arrowed stems must be less brushed
+ if arrowup:
+ brush_scale_up := 0.85;
+ fi;
+ if arrowdown:
+ brush_scale_down := 0.85;
+ fi;
+
penpos1 (top_stem_thick, 0);
penpos3 (top_stem_thick, 0);
penpos2 (stemwidth, 0);
penpos4 (stemwidth, 0);
+ % z1' and z3' are needed for the arrowed accidentals
+ penpos1' (top_stem_thick * brush_scale_up, 0);
+ penpos3' (top_stem_thick * brush_scale_down, 0);
x2r = w;
x4l = 0;
- x3 = x2;
- x1 = x4;
+ x3 = x3' = x2;
+ x1 = x1' = x4;
- y1 = h;
- y3 = -d;
+ y1 = y1' = stemlength;
+ y3 = y3' = -stemlength;
top y2 = vround (staff_space - 3/2 stafflinethickness);
y4 = -y2 + feta_space_shift;
pat_bottom := z4r{z4r - z1r}
.. bot z4
.. z4l{z1l - z4l};
- fill simple_serif (z1l, z1r, -30)
+ fill simple_serif (z1'l, z1'r, -30)
-- pat_bottom
-- cycle;
pat_top := z2r{z2r - z3r}
.. top z2
.. z2l{z3l - z2l};
- fill simple_serif (z3l, z3r, 30)
+ fill simple_serif (z3'l, z3'r, 30)
-- pat_top
-- cycle;
-- z24
-- cycle;
- penlabels (1, 2, 3, 4);
+ penlabels (1, 1', 2, 3, 3', 4);
labels (11, 11', 12, 13, 14, 21, 21', 22, 23, 24);
+ if arrowup:
+ draw_arrow (z1, top_stem_thick * brush_scale_up,
+ z1'l - z4l, stafflinethickness / 2, false);
+ fi;
+ if arrowdown:
+ draw_arrow (z3, top_stem_thick * brush_scale_down,
+ z2r - z3'r, stafflinethickness / 2, true);
+ w := w + extendright;
+ fi;
+
remember_pic := currentpicture;
draw_staff (-2, 2, 0);
+enddef;
+
+
+fet_beginchar ("Natural", "natural");
+ draw_natural (false, false);
+fet_endchar;
+
+
+draw_shifted_too;
+
+
+fet_beginchar ("Arrowed Natural (arrow up)", "natural.arrowup");
+ draw_natural (true, false);
+fet_endchar;
+
+
+draw_shifted_too;
+
+
+fet_beginchar ("Arrowed Natural (arrow down)", "natural.arrowdown");
+ draw_natural (false, true);
+fet_endchar;
+
+
+draw_shifted_too;
+
+
+fet_beginchar ("Arrowed Natural (arrows up and down)", "natural.arrowboth");
+ draw_natural (true, true);
fet_endchar;
% TODO: document, simplify!
%
-def draw_meta_flat (expr xcenter, w, crook_fatness) =
+def draw_meta_flat (expr xcenter, w, crook_fatness, arrowup, arrowdown) =
save crook_thinness;
save bottom_overshoot, bot_crook_dir;
- save top_stem_thick, bottom_stem_thick, hair, smaller_hole;
+ save top_stem_thick, top_stem_thick_orig;
+ save bottom_stem_thick, hair, smaller_hole;
save top_crook_thinness;
save zwiep;
save center;
pair center, bot_crook_dir;
- save clearing;
+ save clearing, clearing_orig;
clearxy;
else:
smaller_hole = 0;
fi;
- clearing = 1.7 stafflinethickness;
crook_thinness = .7 stafflinethickness + .06 staff_space;
top_crook_thinness = 1 stafflinethickness + .065 staff_space;
+ clearing = 1.7 stafflinethickness;
+ clearing_orig = clearing;
+ if arrowup:
+ clearing := 0.5 staff_space;
+ fi;
bottom_overshoot = stafflinethickness;
bottom_stem_thick# = 0.06 staff_space# + 0.6 stafflinethickness#;
top_stem_thick# = 0.1 staff_space# + 1.2 stafflinethickness#;
- define_whole_blacker_pixels (bottom_stem_thick, top_stem_thick);
+ top_stem_thick_orig# = top_stem_thick#;
+ if arrowup:
+ % to look nice, arrowed stems should be less brushed
+ top_stem_thick# := top_stem_thick# * 0.8;
+ fi;
+ define_whole_blacker_pixels (bottom_stem_thick, top_stem_thick,
+ top_stem_thick_orig);
if odd (top_stem_thick - bottom_stem_thick):
top_stem_thick := top_stem_thick - 1;
fi;
+ if odd (top_stem_thick_orig - bottom_stem_thick):
+ top_stem_thick_orig := top_stem_thick_orig - 1;
+ fi;
center = (xcenter, 0);
y1 = vround (2 staff_space - clearing);
x2l = hround (xcenter - .5 bottom_stem_thick);
y2 = -.5 staff_space - .5 stafflinethickness;
+ % z16 and the `*_orig' variables are needed for arrowed accidentals
+ % because their inner part should be unchanged from plain ones but
+ % the points z3l, z3r, and z10 depend on values that are different
+ % for arrowed accidentals
+ x16l = hround (xcenter -.5 top_stem_thick_orig);
+ y16 = vround (2 staff_space - clearing_orig);
penpos1 (top_stem_thick, 0);
+ penpos16 (top_stem_thick_orig, 0);
penpos2 (bottom_stem_thick, 0);
y3l = vfloor ((staff_space - stafflinethickness) / 2);
z3l = whatever [z2r, z1r];
- z3r = .3 [z2r, z1r] + (smaller_hole, 0);
+ z3r = .3 [z2r,
+ (z16r shifted (0, clearing_orig - 1.7 stafflinethickness))]
+ + (smaller_hole, 0);
x3r := hceiling x3r;
% we insert z3l to get better conversion with mf2pt1
-- z3l
-- cycle;
- z10 = whatever [z2r, z1r] + (smaller_hole, 0);
+ z10 = whatever [z2r, z16r] + (smaller_hole, 0);
y10 = -1/10 staff_space;
x10 := hceiling x10;
y11 = -vround (.5 (staff_space + stafflinethickness)
+ bottom_overshoot);
+ x2a = 0.2[x2r, x7];
+ y2a = 1.5[y2, y11];
+
penpos4 (whatever, 53);
y4l - y4r = top_crook_thinness;
.. z10{z3r - z10}
-- cycle;
- fill z2l{down}
- .. z11{right}
- .. z8{bot_crook_dir}
- .. z5l{up}
- .. z4l{left}
- .. z3l
- -- cycle;
+ if arrowdown:
+ fill z2l{down}
+ .. z2a{up}
+ .. z8{bot_crook_dir}
+ .. z5l{up}
+ .. z4l{left}
+ .. z3l
+ -- cycle;
+ else:
+ fill z2l{down}
+ .. z11{right}
+ .. z8{bot_crook_dir}
+ .. z5l{up}
+ .. z4l{left}
+ .. z3l
+ -- cycle;
+ fi;
+
+ if arrowup:
+ draw_arrow (z1, top_stem_thick, z1l - z2l,
+ 0.5 stafflinethickness, false);
+ fi;
+ if arrowdown:
+ draw_arrow ((0.5 [x2l, x2a], y2), x2a - x2l, up,
+ staff_space / 2, true);
+ fi;
enddef;
+def draw_arrowed_meta_flat (expr xcenter, width, crook_fatness,
+ arrowup, arrowdown) =
+ save depth, height, extendleft;
+
+ depth# = 0.6 staff_space#;
+ height# = 1.9 staff_space#;
+ extendleft# := 1.2 stafflinethickness#;
+ if arrowup:
+ extendleft# := 3.45 stafflinethickness#;
+ height# := height# + 0.8 staff_space#;
+ fi;
+ if arrowdown:
+ extendleft# := 3.45 stafflinethickness#;
+ depth# := depth# + 1.6 staff_space#;
+ fi;
+
+ set_char_box (extendleft#, width, depth#, height#);
+ draw_meta_flat(xcenter, w, crook_fatness, arrowup, arrowdown);
+enddef;
+
%
% unfortunately, 600dpi is not enough to show the brush of the stem.
%
fet_beginchar ("Flat", "flat");
- set_char_box (1.2 stafflinethickness#, .8 staff_space#,
- 0.6 staff_space#, 1.9 staff_space#);
-
- draw_meta_flat (0, w, 0.31 staff_space);
+ draw_arrowed_meta_flat (0, 0.8 staff_space#, 0.31 staff_space,
+ false, false);
penlabels (range 0 thru 11);
remember_pic := currentpicture;
draw_shifted_too;
+fet_beginchar ("Arrowed Flat (arrow up)", "flat.arrowup");
+ draw_arrowed_meta_flat (0, 0.8 staff_space#, 0.31 staff_space,
+ true, false);
+ penlabels (range 0 thru 23);
+
+ remember_pic := currentpicture;
+
+ draw_staff (-2, 2, 0);
+fet_endchar;
+
+
+draw_shifted_too;
+
+
+fet_beginchar ("Arrowed Flat (arrow down)", "flat.arrowdown");
+ draw_arrowed_meta_flat (0, 0.8 staff_space#, 0.31 staff_space,
+ false, true);
+ penlabels (range 0 thru 23);
+
+ remember_pic := currentpicture;
+
+ draw_staff (-2, 2, 0);
+fet_endchar;
+
+
+draw_shifted_too;
+
+
+fet_beginchar ("Arrowed Flat (arrow up and down)", "flat.arrowboth");
+ draw_arrowed_meta_flat (0, 0.8 staff_space#, 0.31 staff_space,
+ true, true);
+ penlabels (range 0 thru 23);
+
+ remember_pic := currentpicture;
+
+ draw_staff (-2, 2, 0);
+fet_endchar;
+
+
+draw_shifted_too;
+
+
fet_beginchar ("Flat (slashed)", "flat.slash");
set_char_box (.4 staff_space#, .8 staff_space#,
0.6 staff_space#, 1.9 staff_space#);
- draw_meta_flat (0, w, 0.31 staff_space);
+ draw_meta_flat (0, w, 0.31 staff_space, false, false);
clearxy;
set_char_box (.4 staff_space#, .8 staff_space#,
0.6 staff_space#, 1.9 staff_space#);
- draw_meta_flat (0, w, 0.31 staff_space);
+ draw_meta_flat (0, w, 0.31 staff_space, false, false);
clearxy;
set_char_box (1.2 stafflinethickness#, .8 staff_space#,
0.6 staff_space#, 1.9 staff_space#);
- draw_meta_flat (0, w, 0.31 staff_space);
+ draw_meta_flat (0, w, 0.31 staff_space, false, false);
currentpicture := currentpicture xscaled -1 shifted (w - b, 0);
fet_endchar;
set_char_box (.4 staff_space#, .8 staff_space#,
0.6 staff_space#, 1.9 staff_space#);
- draw_meta_flat (0, w, 0.31 staff_space);
+ draw_meta_flat (0, w, 0.31 staff_space, false, false);
clearxy;
set_char_box (1.2 stafflinethickness#,
(left_wid + right_wid - overlap) * staff_space#,
.6 staff_space#, 1.9 staff_space#);
- draw_meta_flat (0, left_wid * staff_space, 1/3 staff_space);
+ draw_meta_flat (0, left_wid * staff_space, 1/3 staff_space,
+ false, false);
draw_meta_flat (hround ((left_wid - overlap) * staff_space),
- right_wid * staff_space, 1/3 staff_space);
+ right_wid * staff_space, 1/3 staff_space,
+ false, false);
fet_endchar;
set_char_box (1.2 stafflinethickness#,
(left_wid + right_wid - overlap) * staff_space#,
.6 staff_space#, 1.9 staff_space#);
- draw_meta_flat (0, left_wid * staff_space, 1/3 staff_space);
+ draw_meta_flat (0, left_wid * staff_space, 1/3 staff_space,
+ false, false);
draw_meta_flat (hround ((left_wid - overlap) * staff_space),
- right_wid * staff_space, 1/3 staff_space);
+ right_wid * staff_space, 1/3 staff_space,
+ false, false);
%% maybe we should clip part of the stems?
%% or make the 1st flat smaller?
#
msgid ""
msgstr ""
-"Project-Id-Version: lilypond 2.11.57\n"
+"Project-Id-Version: lilypond 2.12.0\n"
"Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n"
-"POT-Creation-Date: 2008-12-09 11:43+0100\n"
+"POT-Creation-Date: 2008-12-20 11:58+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"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: convertrules.py:12
msgid "re-definition of InnerChoirStaff.\n"
msgstr ""
+#: convertrules.py:2851
+msgid "stringTuning must be added to addChordShape call.\n"
+msgstr ""
+
+#: convertrules.py:2857
+msgid "stringTuning must be added to chord-shape call.\n"
+msgstr ""
+
#: fontextract.py:25
#, python-format
msgid "Scanning %s"
msgid "preserve ABC's notion of beams"
msgstr ""
+#. Translators, please translate this string as
+#. "Report bugs in English via %s",
+#. or if there is a LilyPond users list or forum in your language
+#. "Report bugs in English via %s or in YOUR_LANG via URI"
#: abc2ly.py:1363 convert-ly.py:123 etf2ly.py:1200 lilypond-book.py:214
-#: midi2ly.py:894 musicxml2ly.py:2646 main.cc:261
+#: midi2ly.py:894 musicxml2ly.py:2646 main.cc:265
#, c-format, python-format
msgid "Report bugs via %s"
msgstr ""
msgid "be verbose"
msgstr ""
-#: lilypond-book.py:869
+#: lilypond-book.py:871
#, python-format
msgid "file not found: %s"
msgstr ""
-#: lilypond-book.py:1137
+#: lilypond-book.py:1142
#, python-format
msgid "deprecated ly-option used: %s=%s"
msgstr ""
-#: lilypond-book.py:1139
+#: lilypond-book.py:1144
#, python-format
msgid "compatibility mode translation: %s=%s"
msgstr ""
-#: lilypond-book.py:1142
+#: lilypond-book.py:1147
#, python-format
msgid "deprecated ly-option used: %s"
msgstr ""
-#: lilypond-book.py:1144
+#: lilypond-book.py:1149
#, python-format
msgid "compatibility mode translation: %s"
msgstr ""
-#: lilypond-book.py:1162
+#: lilypond-book.py:1167
#, python-format
msgid "ignoring unknown ly option: %s"
msgstr ""
-#: lilypond-book.py:1598
+#: lilypond-book.py:1604
#, python-format
msgid "Opening filter `%s'"
msgstr ""
-#: lilypond-book.py:1615
+#: lilypond-book.py:1621
#, python-format
msgid "`%s' failed (%d)"
msgstr ""
-#: lilypond-book.py:1616
+#: lilypond-book.py:1622
msgid "The error log is as follows:"
msgstr ""
-#: lilypond-book.py:1678
+#: lilypond-book.py:1684
msgid "cannot find \\begin{document} in LaTeX document"
msgstr ""
-#: lilypond-book.py:1778
+#: lilypond-book.py:1784
msgid "Writing snippets..."
msgstr ""
-#: lilypond-book.py:1784
+#: lilypond-book.py:1790
msgid "Processing..."
msgstr ""
-#: lilypond-book.py:1790
+#: lilypond-book.py:1796
msgid "All snippets are up to date..."
msgstr ""
-#: lilypond-book.py:1824
+#: lilypond-book.py:1830
#, python-format
msgid "cannot determine format for: %s"
msgstr ""
-#: lilypond-book.py:1835
+#: lilypond-book.py:1841
#, python-format
msgid "%s is up to date."
msgstr ""
-#: lilypond-book.py:1849
+#: lilypond-book.py:1855
#, python-format
msgid "Writing `%s'..."
msgstr ""
-#: lilypond-book.py:1907
+#: lilypond-book.py:1913
msgid "Output would overwrite input file; use --output."
msgstr ""
-#: lilypond-book.py:1911
+#: lilypond-book.py:1917
#, python-format
msgid "Reading %s..."
msgstr ""
-#: lilypond-book.py:1931
+#: lilypond-book.py:1937
msgid "Dissecting..."
msgstr ""
-#: lilypond-book.py:1947
+#: lilypond-book.py:1953
#, python-format
msgid "Compiling %s..."
msgstr ""
-#: lilypond-book.py:1956
+#: lilypond-book.py:1962
#, python-format
msgid "Processing include: %s"
msgstr ""
-#: lilypond-book.py:1968
+#: lilypond-book.py:1974
#, python-format
msgid "Removing `%s'"
msgstr ""
msgid "unterminated extender"
msgstr ""
-#: font-config.cc:28
-msgid "Initializing FontConfig..."
+#: font-config-scheme.cc:140 font-config.cc:57
+#, c-format
+msgid "failed adding font directory: %s"
msgstr ""
-#: font-config.cc:44
+#: font-config-scheme.cc:142 font-config.cc:59
#, c-format
-msgid "Rebuilding FontConfig cache %s, this may take a while..."
+msgid "adding font directory: %s"
msgstr ""
-#: font-config.cc:57
+#: font-config-scheme.cc:156
#, c-format
-msgid "failed adding font directory: %s"
+msgid "failed adding font file: %s"
msgstr ""
-#: font-config.cc:59
+#: font-config-scheme.cc:158
#, c-format
-msgid "adding font directory: %s"
+msgid "adding font file: %s"
+msgstr ""
+
+#: font-config.cc:28
+msgid "Initializing FontConfig..."
+msgstr ""
+
+#: font-config.cc:44
+#, c-format
+msgid "Rebuilding FontConfig cache %s, this may take a while..."
msgstr ""
#: font-config.cc:63
msgid "Options:"
msgstr ""
-#: main.cc:307
+#: main.cc:311
#, c-format
msgid "expected %d arguments with jail, found: %u"
msgstr ""
-#: main.cc:321
+#: main.cc:325
#, c-format
msgid "no such user: %s"
msgstr ""
-#: main.cc:323
+#: main.cc:327
#, c-format
msgid "cannot get user id from user name: %s: %s"
msgstr ""
-#: main.cc:338
+#: main.cc:342
#, c-format
msgid "no such group: %s"
msgstr ""
-#: main.cc:340
+#: main.cc:344
#, c-format
msgid "cannot get group id from group name: %s: %s"
msgstr ""
-#: main.cc:348
+#: main.cc:352
#, c-format
msgid "cannot chroot to: %s: %s"
msgstr ""
-#: main.cc:355
+#: main.cc:359
#, c-format
msgid "cannot change group id to: %d: %s"
msgstr ""
-#: main.cc:361
+#: main.cc:365
#, c-format
msgid "cannot change user id to: %d: %s"
msgstr ""
-#: main.cc:367
+#: main.cc:371
#, c-format
msgid "cannot change working directory to: %s: %s"
msgstr ""
-#: main.cc:607
+#: main.cc:611
#, c-format
msgid "exception caught: %s"
msgstr ""
msgid "cannot write to file: `%s'"
msgstr ""
-#: minimal-page-breaking.cc:42
-msgid "Computing page breaks..."
+#: minimal-page-breaking.cc:38 paper-score.cc:105
+msgid "Calculating line breaks..."
+msgstr ""
+
+#: minimal-page-breaking.cc:42 layout-page-layout.scm:463
+msgid "Calculating page breaks..."
msgstr ""
#: music-iterator.cc:171
msgid "Layout output to `%s'..."
msgstr ""
-#: paper-score.cc:105
-msgid "Calculating line breaks..."
-msgstr ""
-
#: paper-score.cc:118
#, c-format
msgid "Element count %d (spanners %d) "
msgid "invalid character: `%c'"
msgstr ""
-#: lexer.ll:803 lexer.ll:804
+#: lexer.ll:803
#, c-format
msgid "unknown escaped string: `\\%s'"
msgstr ""
-#: lexer.ll:910 lexer.ll:911
+#: lexer.ll:910
#, c-format
msgid "file too old: %s (oldest supported: %s)"
msgstr ""
-#: lexer.ll:911 lexer.ll:912
+#: lexer.ll:911
msgid "consider updating the input with the convert-ly script"
msgstr ""
-#: lexer.ll:917 lexer.ll:918
+#: lexer.ll:917
#, c-format
msgid "program too old: %s (file requires: %s)"
msgstr ""
msgid "cannot find description for property ~S (~S)"
msgstr ""
-#: flag-styles.scm:81
+#: flag-styles.scm:145
#, scheme-format
msgid "flag stroke `~a' or `~a' not found"
msgstr ""
msgid "Can't fit systems on page -- ignoring between-system-padding"
msgstr ""
-#: layout-page-layout.scm:463
-msgid "Calculating page breaks..."
-msgstr ""
-
#: lily-library.scm:602
#, scheme-format
msgid "unknown unit: ~S"
@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, 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")
+ stderr_write (NOT_SMART % _("stringTuning must be added to \
+addChordShape call.\n"))
+ stderr_write (UPDATE_MANUALLY)
+ raise FatalConversionError ()
+ if re.search (r'\\chord-shape', str):
+ stderr_write ("\n")
+ stderr_write (NOT_SMART % _("stringTuning must be added to \
+chord-shape call.\n"))
+ stderr_write (UPDATE_MANUALLY)
+ raise FatalConversionError ()
+ return str
+
# Guidelines to write rules (please keep this at the end of this file)
#
# - keep at most one rule per version; if several conversions should be done,
self.type = None
def print_ly (self, printer):
- bar_symbol = { 'regular': "|", 'dotted': ":", 'dashed': ":",
+ bar_symbol = { 'regular': "|", 'dotted': ":", 'dashed': "dashed",
'heavy': "|", 'light-light': "||", 'light-heavy': "|.",
'heavy-light': ".|", 'heavy-heavy': ".|.", 'tick': "'",
- 'short': "'", 'none': "" }.get (self.type, None)
+ 'short': "'|", 'none': "" }.get (self.type, None)
if bar_symbol <> None:
printer.dump ('\\bar "%s"' % bar_symbol)
else:
(define-public (number-or-string? x)
(or (number? x) (string? x)))
+(define-public (string-or-pair? x)
+ (or (string? x) (pair? x)))
+
(define-public (scheme? x) #t)
(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
Choices include @code{curved}, @code{straight}, and
@code{none}. Default @code{curved}.
@item
+@code{capo-thickness} -- Thickness of capo indicator, in
+multiples of fret-space. Default value 0.5.
+@item
@code{dot-color} -- Color of dots. Options include
@code{black} and @code{white}. Default @code{black}.
@item
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
values may also be specified.")
(self-alignment-Y ,number? "Like @code{self-alignment-X} but for
the Y@tie{}axis.")
+ (toward-stem-shift ,number? "Amount by which scripts are shifted
+toward the stem if their direction coincides with the stem direction.
+@code{0.0} means keep the default position (centered on the note head),
+@code{1.0} means centered on the stem. Interpolated values are possible.")
(shorten-pair ,number-pair? "The lengths to shorten a
text-spanner on both sides, for example a pedal bracket. Positive
values shorten the text-spanner, while negative values lengthen it.")
@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
;;;;
;;;; source file of the GNU LilyPOnd music typesetter
;;;;
+;;;; This file implements different flag styles in Scheme / GUILE, most
+;;;; notably the old-straight-flag and the modern-straight-flag styles.
+;;;;
+
(define-public (no-flag stem-grob)
"No flag: Simply return empty stencil"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; ;; TODO
-;; (define-public (add-stroke-straight stencil dir stroke-style)
-;; stencil
-;; )
-;;
-;; ;; Create a stencil for a straight flag
-;; ;; flag-thickness, -spacing are given in staff spaces
-;; ;; *flag-length are given in black notehead widths
-;; ;; TODO
-;; (define-public (straight-flag flag-thickness flag-spacing
-;; upflag-angle upflag-length
-;; downflag-angle downflag-length)
-;; (lambda (stem-grob)
-;; (let* ((log (ly:grob-property stem-grob 'duration-log))
-;; (staff-space 1) ; TODO
-;; (black-notehead-width 1) ; TODO
-;; (stem-thickness 1) ; TODO: get rid of
-;; (half-stem-thickness (/ stem-thickness 2))
-;; (staff-space 1) ; TODO
-;; (up-length (+ (* upflag-length black-notehead-width) half-stem-thickness))
-;; (down-length (+ (* downflag-length black-notehead-width) half-stem-thickness))
-;; (thickness (* flag-thickness staff-space))
-;; (spacing (* flag-spacing staff-space)))
-;; empty-stencil
-;; )
-;; )
-;; )
-;;
-;; ;; Modern straight flags: angles are not so large as with the old style
-;; (define-public (modern-straight-flag stem-grob)
-;; ((straight-flag 0.55 0.9 -18 0.95 22 1.0) stem-grob))
-;;
-;; ;; Old-straight flags (Bach, etc.): quite large flag angles
-;; (define-public (old-straight-flag stem-grob)
-;; ((straight-flag 0.55 0.9 -45 0.95 45 1.0) stem-grob))
+(define-public (add-stroke-straight stencil stem-grob dir log stroke-style offset length thickness stroke-thickness)
+ "Add the stroke for acciaccatura to the given flag stencil.
+ The stroke starts for up-flags at upper-end-of-flag+(0,length/2) and
+ ends at (0, vertical-center-of-flag-end) - (flag-x-width/2, flag-x-width + flag-thickness).
+ Here length is the whole length, while flag-x-width is just the
+ x-extent and thus depends on the angle! Other combinations don't look as
+ good... For down-stems the y-coordinates are simply mirrored."
+ (let* ((start (offset-add offset (cons 0 (* (/ length 2) dir))))
+ (end (offset-add (cons 0 (cdr offset))
+ (cons (- (/ (car offset) 2)) (* (- (+ thickness (car offset))) dir))))
+ (stroke (make-line-stencil stroke-thickness (car start) (cdr start) (car end) (cdr end))))
+ (ly:stencil-add stencil stroke)))
+
+(define PI-OVER-180 (/ (atan 1 1) 45))
+(define (degrees->radians angle-degrees)
+ "Convert the given angle from degrees to radians"
+ (* angle-degrees PI-OVER-180))
+
+(define (polar->rectangular radius angle-in-degrees)
+ "Convert polar coordinate @code{radius} and @code{angle-in-degrees}
+ to (x-length . y-length)"
+ (let* ((complex (make-polar
+ radius
+ (degrees->radians angle-in-degrees))))
+ (cons
+ (real-part complex)
+ (imag-part complex))))
+
+(define (buildflag flag-stencil remain curr-stencil spacing)
+ "Internal function to recursively create a stencil with @code{remain} flags
+ from the single-flag stencil curr-stencil, which is already translated to
+ the position of the previous flag position."
+ (if (> remain 0)
+ (let* ((translated-stencil (ly:stencil-translate-axis curr-stencil spacing Y))
+ (new-stencil (ly:stencil-add flag-stencil translated-stencil)))
+ (buildflag new-stencil (- remain 1) translated-stencil spacing))
+ flag-stencil))
+
+(define-public (straight-flag flag-thickness flag-spacing
+ upflag-angle upflag-length
+ downflag-angle downflag-length)
+ "Create a stencil for a straight flag.
+ flag-thickness, -spacing are given in staff spaces,
+ *flag-angle is given in degree, *flag-length is given in staff spaces.
+ All lengths will be scaled according to the font size of the note."
+ (lambda (stem-grob)
+ (let* ((log (ly:grob-property stem-grob 'duration-log))
+ (dir (ly:grob-property stem-grob 'direction))
+ (stem-up (eqv? dir UP))
+ (layout (ly:grob-layout stem-grob))
+ ; scale with the note size (e.g. for grace notes)
+ (factor (magstep (ly:grob-property stem-grob 'font-size 0)))
+ (grob-stem-thickness (ly:grob-property stem-grob 'thickness))
+ (line-thickness (ly:output-def-lookup layout 'line-thickness))
+ (half-stem-thickness (/ (* grob-stem-thickness line-thickness) 2))
+ (raw-length (if stem-up upflag-length downflag-length))
+ (angle (if stem-up upflag-angle downflag-angle))
+ (flag-length (+ (* raw-length factor) half-stem-thickness))
+ (flag-end (polar->rectangular flag-length angle))
+ (thickness (* flag-thickness factor))
+ (thickness-offset (cons 0 (* -1 thickness dir)))
+ (spacing (* -1 flag-spacing factor dir ))
+ (start (cons (- half-stem-thickness) (* half-stem-thickness dir)))
+ ; The points of a round-filled-polygon need to be given in clockwise
+ ; order, otherwise the polygon will be enlarged by blot-size*2!
+ (points (if stem-up (list start flag-end
+ (offset-add flag-end thickness-offset)
+ (offset-add start thickness-offset))
+ (list start
+ (offset-add start thickness-offset)
+ (offset-add flag-end thickness-offset)
+ flag-end)))
+ (stencil (ly:round-filled-polygon points half-stem-thickness))
+ ; Log for 1/8 is 3, so we need to subtract 3
+ (flag-stencil (buildflag stencil (- log 3) stencil spacing))
+ (stroke-style (ly:grob-property stem-grob 'stroke-style)))
+ (if (equal? stroke-style "grace")
+ (add-stroke-straight flag-stencil stem-grob
+ dir log
+ stroke-style
+ flag-end flag-length
+ thickness
+ (* half-stem-thickness 2))
+ flag-stencil))))
+
+(define-public (modern-straight-flag stem-grob)
+ "Modern straight flag style (for composers like Stockhausen, Boulez, etc.).
+ The angles are 18 and 22 degrees and thus smaller than for the ancient style
+ of Bach etc."
+ ((straight-flag 0.55 1 -18 1.1 22 1.2) stem-grob))
+
+(define-public (old-straight-flag stem-grob)
+ "Old straight flag style (for composers like Bach). The angles of the flags
+ are both 45 degrees."
+ ((straight-flag 0.55 1 -45 1.2 45 1.4) stem-grob))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(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
(define (fret-parse-marking-list marking-list fret-count)
(let* ((fret-range (list 1 fret-count))
+ (capo-fret 0)
(barre-list '())
(dot-list '())
(xo-list '())
(set! xo-list (cons* my-item xo-list)))
((eq? my-code 'barre)
(set! barre-list (cons* (cdr my-item) barre-list)))
+ ((eq? my-code 'capo)
+ (set! capo-fret (cadr my-item)))
((eq? my-code 'place-fret)
(set! dot-list (cons* (cdr my-item) dot-list))))
(parse-item (cdr mylist)))))
;; calculate fret-range
- (let ((maxfret 0) (minfret 99))
+ (let ((maxfret 0)
+ (minfret (if (> capo-fret 0) capo-fret 99)))
(let updatemax ((fret-list dot-list))
(if (null? fret-list)
'()
(list minfret
(let ((upfret (- (+ minfret fret-count) 1)))
(if (> maxfret upfret) maxfret upfret)))))
+ (set! capo-fret (1+ (- capo-fret minfret)))
; subtract fret from dots
(set! dot-list (subtract-base-fret (- (car fret-range) 1) dot-list)))
(acons 'fret-range fret-range
(acons 'barre-list barre-list
(acons 'dot-list dot-list
- (acons 'xo-list xo-list '()))))))
+ (acons 'xo-list xo-list
+ (acons 'capo-fret capo-fret '())))))))
(define (subtract-base-fret base-fret dot-list)
"Subtract @var{base-fret} from every fret in @var{dot-list}"
(ly:make-stencil (list 'round-filled-box y1 y2 x1 x2 sth)
y-extent x-extent))))
+(define (draw-capo details string-count fret fret-count th size
+ dot-pos orientation)
+ "Draw a capo indicator across the full width of the fret-board
+ at fret capo-fret."
+ (let* ((sth (* th size))
+ (capo-thick
+ (* size (assoc-get 'capo-thickness details 0.5)))
+ (half-thick (* capo-thick 0.5))
+ (last-string-pos 0)
+ (first-string-pos (* size (- string-count 1)))
+ (fret-pos ( * size (if (eq? orientation 'normal)
+ (+ 2 (- fret-count fret dot-pos))
+ (1- (+ dot-pos fret))))))
+ (if (eq? orientation 'normal)
+ (make-line-stencil capo-thick
+ last-string-pos fret-pos first-string-pos fret-pos)
+ (make-line-stencil capo-thick
+ fret-pos last-string-pos fret-pos first-string-pos))))
+
+
(define (draw-frets fret-range string-count th size orientation)
"Draw the fret lines for a fret diagram with
@var{string-count} strings and frets as indicated in @var{fret-range}.
(* size (+ 1 label-vertical-offset)) X))))
(define-builtin-markup-command (fret-diagram-verbose layout props marking-list)
- (list?) ; argument type
+ (pair?) ; argument type (list, but use pair? for speed)
instrument-specific-markup ; markup type
((align-dir -0.4) ; properties and defaults
(size 1.0)
Place a barre indicator (much like a tie) from string @var{start-string}
to string @var{end-string} at fret @var{fret-number}.
+@item (capo @var{fret-number})
+Place a capo indicator (a large solid bar) across the entire fretboard
+at fret location @var{fret-number}. Also, set fret @var{fret-number}
+to be the lowest fret on the fret diagram.
+
@item (place-fret @var{string-number} @var{fret-number} @var{finger-value})
Place a fret playing indication on string @var{string-number} at fret
@var{fret-number} with an optional fingering label @var{finger-value}.
(label-space (* 0.25 size))
(label-dir (assoc-get 'label-dir details RIGHT))
(parameters (fret-parse-marking-list marking-list fret-count))
+ (capo-fret (assoc-get 'capo-fret parameters 0))
(dot-list (cdr (assoc 'dot-list parameters)))
(xo-list (cdr (assoc 'xo-list parameters)))
(fret-range (cdr (assoc 'fret-range parameters)))
(draw-xo layout props string-count fret-range
size xo-list orientation)
xo-padding))))
+ (if (> capo-fret 0)
+ (set! fret-diagram-stencil
+ (ly:stencil-add
+ fret-diagram-stencil
+ (draw-capo details string-count capo-fret fret-count
+ th size dot-position orientation))))
(if (> (car fret-range) 1)
(set! fret-diagram-stencil
(if (eq? orientation 'normal)
(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")
("" . ("" . ""))
(":" . (":" . ""))
("." . ("." . ()))
+ ("'" . ("'" . ()))
("empty" . (() . ()))
("brace" . (() . "brace"))
("bracket" . (() . "bracket"))
(define-public (script-interface::calc-x-offset grob)
(ly:grob-property grob 'positioning-done)
- (ly:self-alignment-interface::centered-on-x-parent grob))
+ (let* ((shift (ly:grob-property grob 'toward-stem-shift 0.0))
+ (note-head-location (ly:self-alignment-interface::centered-on-x-parent grob))
+ (note-head-grob (ly:grob-parent grob X))
+ (stem-grob (ly:grob-object note-head-grob 'stem)))
+ (+ note-head-location
+ ;; If the property 'toward-stem-shift is defined and the script has the
+ ;; same direction as the stem, move the script accordingly. Since scripts can
+ ;; also be over skips, we need to check whether the grob has a stem at all.
+ (if (ly:grob? stem-grob)
+ (let ((dir1 (ly:grob-property grob 'direction))
+ (dir2 (ly:grob-property stem-grob 'direction)))
+ (if (equal? dir1 dir2)
+ (let* ((common-refp (ly:grob-common-refpoint grob stem-grob X))
+ (stem-location (ly:grob-relative-coordinate stem-grob common-refp X)))
+ (* shift (- stem-location
+ note-head-location)))
+ 0.0))
+ 0.0))))
(define-public (parse-terse-string terse-definition)
"Parse a fret-diagram-terse definition string @code{terse-definition} and
-return a marking list, which can be used as with a fretboard grob."
+return a marking list, which can be used with a fretboard grob."
(cdr (fret-parse-terse-definition-string (list '()) terse-definition)))
-(define-public (get-chord-shape shape-code base-chord-shapes)
-"Return the chord shape associated with key @code{shape-code} in
-the alist @code{base-chord-shapes}."
- (assoc-get shape-code base-chord-shapes #f))
-
-(define-public (offset-fret fret-offset terse-string)
-"Add @code{fret-offset} to each fret indication in @code{terse-string}
-and return the resulting fret-diagram-terse definition string."
-
- (define (split-fretstring fret-string)
- (map (lambda (x) (split-item x))
- (string-split fret-string #\sp )))
-
- (define (split-item item-string)
- (string-split item-string #\- ))
-
- (define (split-terse-string terse-string)
- (let ((long-list
- (string-split terse-string #\;)))
- (map (lambda (x) (split-fretstring x))
- (list-head long-list (1- (length long-list))))))
-
- (define (join-terse-string terse-string-list)
- (string-join
- (map (lambda (x) (join-fretstring x)) terse-string-list)
- ";" 'suffix))
-
- (define (join-item item-list)
- (string-join item-list "-" ))
-
- (define (join-fretstring fretstring-list)
- (string-join
- (map (lambda (x) (join-item x)) fretstring-list)
- " " ))
-
- (define (add-item-fret-offset fret-offset item-list)
- (let ((fretval (string->number (car item-list))))
- (if fretval
- (cons (number->string (+ fretval fret-offset))
- (cdr item-list))
- item-list)))
-
- (define (add-fretstring-fret-offset fret-offset fretstring-list)
- (map (lambda (x) (add-item-fret-offset fret-offset x))
- fretstring-list))
-
- (define (add-terse-fret-offset fret-offset terse-string-list)
- (map (lambda (x) (add-fretstring-fret-offset fret-offset x))
- terse-string-list))
-
-;; body
- (join-terse-string
- (add-terse-fret-offset
- fret-offset
- (split-terse-string terse-string))))
+(define-public (get-chord-shape shape-code tuning base-chord-shapes)
+"Return the chord shape associated with @code{shape-code} and
+@code{tuning} in the hash-table @code{base-chord-shapes}."
+ (let ((hash-handle (hash-get-handle base-chord-shapes
+ (cons shape-code tuning))))
+ (if hash-handle
+ (cdr hash-handle)
+ '())))
+
+(define-public (offset-fret fret-offset diagram-definition)
+"Add @code{fret-offset} to each fret indication in @code{diagram-definition}
+and return the resulting verbose fret-diagram-definition."
+ (let ((verbose-definition
+ (if (string? diagram-definition)
+ (parse-terse-string diagram-definition)
+ diagram-definition)))
+ (map (lambda(item)
+ (let ((code (car item)))
+ (cond
+ ((eq? code 'barre)
+ (list-set! item 3
+ (+ fret-offset (list-ref item 3)))
+ item)
+ ((eq? code 'capo)
+ (list-set! item 1
+ (+ fret-offset (list-ref item 1)))
+ item)
+ ((eq? code 'place-fret)
+ (list-set! item 2
+ (+ fret-offset (list-ref item 2)))
+ item)
+ (else item))))
+ verbose-definition)))
(side-relative-direction . -1)
(quantize-position . #t)
(avoid-slur . inside)
+ (toward-stem-shift . 0.5)
(padding . 0.20)
(script-priority . -100)))
("tenuto" .
% 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)