@c -*- coding: utf-8; mode: texinfo; -*-
@c This file is part of lilypond.tely
+@ignore
+ Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
+
+ When revising a translation, copy the HEAD committish of the
+ version that you are working on. See TRANSLATION for details.
+@end ignore
+
@c A menu is needed before every deeper *section nesting of @node's; run
@c M-x texinfo-all-menus-update
@menu
* Pitches::
* Rhythms::
-* Multiple notes at once::
+* Polyphony::
* Staff notation::
* Connecting notes::
* Expressive marks::
* Accidentals::
* Cautionary accidentals::
* Micro tones::
-* Notes names in other languages::
+* Note names in other languages::
* Relative octaves::
* Octave check::
* Transpose::
@funindex ,
The optional octave specification takes the form of a series of
-single quote (`@code{'}') characters or a series of comma
-(`@code{,}') characters. Each @code{'} raises the pitch by one
-octave; each @code{,} lowers the pitch by an octave.
+single quote (@samp{'}) characters or a series of comma
+(@samp{,}) characters. Each @samp{'} raises the pitch by one
+octave; each @samp{,} lowers the pitch by an octave.
@lilypond[quote,ragged-right,fragment,verbatim]
\clef treble
a4 aes a2
@end lilypond
-The input @code{d e f} is interpreted as ``print a D-natural,
-E-natural, and an F-natural,'' regardless of the key
+The input @code{d e f} is interpreted as @q{print a D-natural,
+E-natural, and an F-natural,} regardless of the key
signature. For more information about the distinction between
musical content and the presentation of that content, see
-@ref{More about pitches}.
+@ref{Accidentals and key signatures}.
@lilypond[fragment,quote,ragged-right,verbatim,relative]
\key d \major
can be forced by adding an exclamation mark @code{!}
after the pitch. A cautionary accidental
(i.e., an accidental within parentheses) can be obtained by adding the
-question mark `@code{?}' after the pitch. These extra accidentals
+question mark @samp{?} after the pitch. These extra accidentals
can be used to produce natural signs, too.
@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
standard.
-@node Notes names in other languages
-@subsection Notes names in other languages
+@node Note names in other languages
+@subsection Note names in other languages
There are predefined sets of note names for various other languages.
To use them, include the language specific init file. For
file. The available language files
and the note names they define are
-@c what about micro-tunes, double-sharps, and double-flats? add
-@c more columns to the table?
-@c Oh, and should this be made into a multitable?
+@c Should this be made into a multitable?
@cindex note names, other languages
@example
- Note Names sharp flat
-nederlands.ly c d e f g a bes b -is -es
-english.ly c d e f g a bf b -s/-sharp -f/-flat
- -x (double)
-deutsch.ly c d e f g a b h -is -es
-norsk.ly c d e f g a b h -iss/-is -ess/-es
-svenska.ly c d e f g a b h -iss -ess
-italiano.ly do re mi fa sol la sib si -d -b
-catalan.ly do re mi fa sol la sib si -d/-s -b
-espanol.ly do re mi fa sol la sib si -s -b
+ Note Names sharp flat double double
+ sharp flat
+
+nederlands.ly c d e f g a bes b -is -es -isis -eses
+english.ly c d e f g a bf b -s/-sharp -f/-flat -ss/-x/ -ff/
+ -sharpsharp -flatflat
+deutsch.ly c d e f g a b h -is -es -isis -eses
+norsk.ly c d e f g a b h -iss/-is -ess/-es -ississ/-isis -essess/-eses
+svenska.ly c d e f g a b h -iss -ess -ississ -essess
+italiano.ly do re mi fa sol la sib si -d -b -dd -bb
+catalan.ly do re mi fa sol la sib si -d/-s -b -dd/-ss -bb
+espanol.ly do re mi fa sol la sib si -s -b -ss -bb
@end example
+@noindent
+Note that in Dutch, German, Norwegian, and Swedish, the flat
+alterations of @samp{a} like for example @code{aes} and @code{aeses}
+are usually contracted to @code{as} and @code{ases} (or more commonly
+@code{asas}). Sometimes only these contracted names are defined in the
+corresponding language files (this also applies to the suffixes for
+quartertones below).
+
+@noindent
+Some music uses microtones whose alterations are fractions of a
+@q{regular} sharp or flat. The note names for quartertones defined in
+the various language files are listed in the following table. Here the
+prefixes @q{semi-} and @q{sesqui-} mean @q{half} and @q{one and a
+half}, respectively. For Norwegian, Swedish, Catalan and Spanish no
+special names have been defined yet.
+@c What about Turkish Maquam music and similar microtonal systems?
+@c
+@c Note that the term "three-quarter-sharp/-flat" used in lilypond's source code
+@c is actually misleading since the alteration is in fact one and a half
+@c of a regular sharp/flat. Whence the naming "sesqui-sharp/-flat" used below.
+
+@example
+ Note Names semi- semi- sesqui- sesqui-
+ sharp flat sharp flat
+
+nederlands.ly c d e f g a bes b -ih -eh -isih -eseh
+english.ly c d e f g a bf b -qs -qf -tqs -tqf
+deutsch.ly c d e f g a b h -ih -eh -isih -eseh
+norsk.ly c d e f g a b h
+svenska.ly c d e f g a b h
+italiano.ly do re mi fa sol la sib si -sd -sb -dsd -bsb
+catalan.ly do re mi fa sol la sib si
+espanol.ly do re mi fa sol la sib si
+@end example
+
+
@node Relative octaves
@subsection Relative octaves
@end example
This checks that @var{pitch} (without quotes) yields @var{pitch} (with
-quotes) in @code{\relative} mode. If not, a warning is printed, and the
+quotes) in @code{\relative} mode compared to the note given in the
+@code{\relative} command. If not, a warning is printed, and the
octave is corrected. The @var{pitch} is not printed as a note.
In the example below, the first check passes without incident, since
@code{\transpose} may also be used to input written notes for a
transposing instrument. Pitches are normally entered into LilyPond
-in C (or ``concert pitch''), but they may be entered in another
+in C (or @q{concert pitch}), but they may be entered in another
key. For example, when entering music for a B-flat trumpet which
begins on concert D, one would write
Program reference: @internalsref{TransposedMusic}.
+Example: @inputfileref{input/@/test,smart@/-transpose@/.ly}.
+
@refbugs
@funindex \skip
@funindex s
-An invisible rest (also called a `skip') can be entered like a note
-with note name `@code{s}' or with @code{\skip @var{duration}}
+An invisible rest (also called a @q{skip}) can be entered like a note
+with note name @samp{s} or with @code{\skip @var{duration}}
@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
a4 a4 s4 a4 \skip 1 a4
@funindex .
-To obtain dotted note lengths, simply add a dot (`@code{.}') to
+To obtain dotted note lengths, simply add a dot (@samp{.}) to
the number. Double-dotted notes are produced in a similar way.
@lilypond[quote,ragged-right,fragment,verbatim]
\times 2/3 { c8 c c } \times 2/3 { c8 c c }
@end lilypond
+Use the @code{\tweak} function to override nested tuplets beginning at the
+same music moment. In this example, @code{\tweak} specifies fraction
+text for the
+outer @code{TupletNumber} and denominator text for the @code{TupletNumber}
+of the first of the three inner tuplets.
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff {
+ \tweak #'text #tuplet-number::calc-fraction-text
+ \times 4/3 {
+ \tweak #'text #tuplet-number::calc-denominator-text
+ \times 2/3 { c'8[ c'8 c'8] }
+ \times 2/3 { c'8[ c'8 c'8] }
+ \times 2/3 { c'8[ c'8 c'8] }
+ }
+}
+@end lilypond
+
+Here @code{\tweak} and @code{\override} work together to specify
+@code{TupletBracket} direction. The first @code{\tweak} positions
+the @code{TupletBracket} of the outer
+tuplet above the staff. The second @code{\tweak} positions the
+@code{TupletBracket} of the first of the three inner tuplets below the
+staff. Note that this pair of @code{\tweak} functions affects only
+the outer tuplet and the first of the three inner tuplets because only
+those two tuplets begin at the same music moment. We use @code{\override}
+in the usual way to position the @code{TupletBrackets} of
+the second and third of the inner tuplets below the staff.
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff {
+ \tweak #'text #tuplet-number::calc-fraction-text
+ \tweak #'direction #up
+ \times 4/3 {
+ \tweak #'direction #down
+ \times 2/3 { c'8[ c'8 c'8] }
+ \override TupletBracket #'direction = #down
+ \times 2/3 { c'8[ c'8 c'8] }
+ \times 2/3 { c'8[ c'8 c'8] }
+ }
+}
+@end lilypond
+
+Tuplet brackets can be made to run to prefatory matter or
+the next note
+
+@lilypond[ragged-right]
+\new RhythmicStaff {
+ \set tupletFullLength = ##t
+ \time 4/4
+ \times 4/5 {
+ c4 c1
+ }
+ \set tupletFullLengthNote = ##t
+ \time 2/4
+ \times 2/3 {
+ c4 c c
+ }
+ \time 3/4
+ c4
+}
+@end lilypond
+
@seealso
Program reference: @internalsref{TupletBracket},
@internalsref{TupletNumber}, and @internalsref{TimeScaledMusic}.
-Examples: @inputfileref{input/@/regression,tuplet@/-nest@/.ly}.
-
@node Scaling durations
@subsection Scaling durations
You can alter the length of duration by a fraction @var{N/M}
-appending `@code{*}@var{N/M}' (or `@code{*}@var{N}' if @var{M=1}). This
-will not affect the appearance of the notes or rests produced.
+appending @samp{*@var{N/M}} (or @samp{*@var{N}} if @var{M=1}). This
+will not affect the appearance of the notes or rests produced. These
+may be combined such as @samp{*M*N}.
In the following example, the first three notes take up exactly two
beats, but no triplet bracket is printed.
+
@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
\time 2/4
a4*2/3 gis4*2/3 a4*2/3
@seealso
-This manual: @ref{Tuplets}
+This manual: @ref{Tuplets}.
@node Bar check
@funindex |
Bar checks help detect errors in the durations. A bar check is
-entered using the bar symbol, `@code{|}'. Whenever it is encountered
+entered using the bar symbol, @samp{|}. Whenever it is encountered
during interpretation, it should fall on a measure boundary. If it
does not, a warning is printed. In the next example, the second bar
check will signal an error
not entirely filled, then the ties exactly show how much each measure
is off.
+If you want to allow line breaking on the bar lines where
+@internalsref{Completion_heads_engraver} splits notes, you must
+also remove @internalsref{Forbid_line_breaks_engraver}.
+
@refbugs
@seealso
-Examples: @inputfileref{input/@/regression,completion@/-heads@/.ly}.
-
-@noindent
-
Program reference: @internalsref{Completion_heads_engraver}.
-@node Multiple notes at once
-@section Multiple notes at once
+@node Polyphony
+@section Polyphony
Polyphony in music refers to having more than one voice occurring in
a piece of music. Polyphony in LilyPond refers to having more than
@end lilypond
The separator causes @internalsref{Voice} contexts@footnote{Polyphonic
-voices are sometimes called ``layers'' in other notation packages}
+voices are sometimes called @q{layers} in other notation packages}
@cindex layers
to be instantiated. They bear the names @code{"1"}, @code{"2"}, etc. In
each of these contexts, vertical direction of slurs, stems, etc., is set
@code{noteD} is relative to @code{noteC}, not @code{noteB} or
@code{noteA}.
+
@node Explicitly instantiating voices
@subsection Explicitly instantiating voices
}
@end lilypond
+In some instances of complex polyphonic music, you may need additional
+voices to avoid collisions between notes. Additional voices are added
+by defining an identifier, as shown below:
+
+@lilypond[quote,verbatim,ragged-right,relative=2]
+voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
+
+\relative c''' <<
+ { \voiceOne g4 ~ \stemDown g32[ f( es d c b a b64 )g] } \\
+ { \voiceThree b4} \\
+ { \voiceFive d,} \\
+ { \voiceTwo g,}
+>>
+@end lilypond
+
@node Collision Resolution
@subsection Collision Resolution
Normally, note heads with a different number of dots are not merged, but
when the object property @code{merge-differently-dotted} is set in
-the @internalsref{NoteCollision} object, they are merged
+the @internalsref{NoteCollision} object, they are merged:
+
@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
\new Voice << {
g8 g8
@end lilypond
Similarly, you can merge half note heads with eighth notes, by setting
-@code{merge-differently-headed}
+@code{merge-differently-headed}:
+
@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
\new Voice << {
c8 c4.
c8 c4. } \\ { c2 c2 } >>
@end lilypond
+@noindent
+@code{merge-differently-headed} and @code{merge-differently-dotted}
+only apply to opposing stem directions (ie. Voice 1 & 2).
+
LilyPond also vertically shifts rests that are opposite of a stem,
for example
\new Voice << c''4 \\ r4 >>
@end lilypond
+If three or more notes line up in the same column,
+@code{merge-differently-headed} cannot
+successfully complete the merge of the two notes that should be merged.
+To allow the merge to work properly, apply a @code{\shift} to the note that
+should not be merged. In the first measure of following example,
+@code{merge-differently-headed} does not work (the half-note head is
+solid). In the second measure, @code{\shiftOn} is applied to move the
+top @code{g} out of the column, and @code{merge-differently-headed}
+works properly.
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+\override Staff.NoteCollision #'merge-differently-headed = ##t
+<<
+ { d=''2 g2 } \\
+ { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
+ { \voiceFour e,,2 e'2}
+>>
+<<
+ { d'=''2 \shiftOn g2 } \\
+ { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
+ { \voiceFour e,,2 e'2}
+>>
+@end lilypond
+
@refcommands
@funindex \shiftOnnn
@code{\shiftOnnn},
@funindex \shiftOff
-@code{\shiftOff}: these commands specify in what chords of the current
-voice should be shifted. The outer voices (normally: voice one and
+@code{\shiftOff}: these commands specify the
+degree to which chords of the current voice should be shifted.
+The outer voices (normally: voice one and
two) have @code{\shiftOff}, while the inner voices (three and four)
have @code{\shiftOn}. @code{\shiftOnn} and @code{\shiftOnnn} define
further shift levels.
Program reference: the objects responsible for resolving collisions are
@internalsref{NoteCollision} and @internalsref{RestCollision}.
-Examples:
-@inputfileref{input/@/regression,collision@/-dots@/.ly},
-@inputfileref{input/@/regression,collision@/-head-chords@/.ly},
-@inputfileref{input/@/regression,collision@/-heads@/.ly},
-@inputfileref{input/@/regression,collision@/-mesh@/.ly}, and
-@inputfileref{input/@/regression,collisions@/.ly}.
-
@refbugs
Here, @var{type} should be @code{\major} or @code{\minor} to get
@var{pitch}-major or @var{pitch}-minor, respectively. You may also
-use the standard mode names (also called ``church modes''): @code{\ionian},
+use the standard mode names (also called @q{church modes}): @code{\ionian},
@code{\locrian}, @code{\aeolian}, @code{\mixolydian}, @code{\lydian},
@code{\phrygian}, and @code{\dorian}.
Accidentals and key signatures often confuse new users, because
unaltered notes get natural signs depending on the key signature. For
-more information, see @ref{Accidentals} or @ref{More about pitches}.
+more information, see @ref{Accidentals}, or @ref{Accidentals and key signatures}.
@lilypond[quote,ragged-right,verbatim,relative=2,fragment]
\key g \major
@end lilypond
There are many more options for its layout. See @ref{Ancient time
-signatures} for more examples.
+signatures}, for more examples.
@code{\time} sets the property @code{timeSignatureFraction},
@code{beatLength} and @code{measureLength} in the @code{Timing}
The property @code{measurePosition} contains a rational number
indicating how much of the measure has passed at this point. Note
that this is a negative number; @code{\partial 4} is internally
-translated to mean ``there is a quarter note left in the bar''.
+translated to mean @qq{there is a quarter note left in the bar.}
@refbugs
a2 g2
@end lilypond
+@code{\partial} is only intended to be used at the beginning of a
+piece. If you use it after the beginning, some odd warnings may
+occur.
+
@node Bar lines
@subsection Bar lines
@noindent
This will insert an invisible bar line and allow line breaks at this
-point. This also increases the bar number counter.
+point (without increasing the bar number counter).
In scores with many staves, a @code{\bar} command in one staff is
automatically applied to all staves. The resulting bar lines are
-connected between different staves of a StaffGroup
+connected between different staves of a @code{StaffGroup},
+@code{PianoStaff}, or @code{GrandStaff}.
@lilypond[quote,ragged-right,fragment,verbatim]
<<
Program reference: @internalsref{BarLine} (created at
@internalsref{Staff} level), @internalsref{SpanBar} (across staves).
-Examples: @inputfileref{input/@/test,bar@/-lines@/.ly},
-
@node Unmetered music
@subsection Unmetered music
@internalsref{systemStartDelimiter}.
+@commonprop
+
+System start delimiters may be deeply nested,
+
+@lilypond[quote,ragged-right,verbatim]
+\new StaffGroup
+\relative <<
+ \set StaffGroup.systemStartDelimiterHierarchy
+ = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
+ \new Staff { c1 }
+ \new Staff { c1 }
+ \new Staff { c1 }
+ \new Staff { c1 }
+ \new Staff { c1 }
+>>
+@end lilypond
+
+
@node Staff symbol
@subsection Staff symbol
@cindex adjusting staff symbol
Notes, dynamic signs, etc., are grouped
-with a set of horizontal lines, called a staff (plural `staves'). In
+with a set of horizontal lines, called a staff (plural @q{staves}). In
LilyPond, these lines are drawn using a separate layout object called
@code{staff symbol}.
@end lilypond
In combination with Frenched staves, this may be used to typeset ossia
-sections. An example is in @inputfileref{input/@/test@/,ossia.ly},
-shown here
+sections. An example is shown here
@cindex ossia
Examples: @inputfileref{input/@/test,staff@/-lines@/.ly},
@inputfileref{input/@/test@/,ossia.ly},
@inputfileref{input/@/test,staff@/-size@/.ly},
-@inputfileref{input/@/regression,staff@/-line@/-positions@/.ly}.
+@lsr{staff,staff-line-positions.ly}
@node Writing music in parallel
>>
@end lilypond
+This works quite well for piano music
+
+@lilypond[quote,verbatim]
+music = {
+ \key c \major
+ \time 4/4
+ \parallelMusic #'(voiceA voiceB voiceC voiceD) {
+ % Bar 1
+ r8 g'16[ c''] e''[ g' c'' e''] r8 g'16[ c''] e''[ g' c''
+e''] |
+ c'2 c'2 |
+ r8 a16[ d'] f'[ a d' f'] r8 a16[ d'] f'[ a d' f'] |
+ c2 c2 |
+
+ % Bar 2
+ a'8 b' c'' d'' e'' f'' g'' a'' |
+ d'4 d' d' d' |
+ c16 d e f d e f g e f g a f g a b |
+ a,4 a,4 a,4 a,4 |
+
+ % Bar 3 ...
+ }
+}
+
+\score {
+ \new PianoStaff <<
+ \music
+ \new Staff <<
+ \voiceA \\
+ \voiceB
+ >>
+ \new Staff {
+ \clef bass
+ <<
+ \voiceC \\
+ \voiceD
+ >>
+ }
+ >>
+}
+@end lilypond
@node Connecting notes
A tie connects two adjacent note heads of the same pitch. The tie in
effect extends the length of a note. Ties should not be confused with
slurs, which indicate articulation, or phrasing slurs, which indicate
-musical phrasing. A tie is entered using the tilde symbol `@code{~}'
+musical phrasing. A tie is entered using the tilde symbol @samp{~}
@lilypond[quote,ragged-right,fragment,verbatim]
e' ~ e' <c' e' g'> ~ <c' e' g'>
@end lilypond
When a tie is applied to a chord, all note heads whose pitches match
-are connected. When no note heads match, no ties will be created.
+are connected. When no note heads match, no ties will be created. Chords
+may be partially tied by placing the tie inside the chord,
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
+<c~ e g~ b> <c e g b>
+@end lilypond
A tie is just a way of extending a note duration, similar to the
augmentation dot. The following example shows two ways of notating
@code{tieWaitForNote} property to true. The same feature is also useful,
for example, to tie a tremolo to a chord. For example,
-@lilypond[fragment,verbatim,relative=1,ragged-right]
+@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
\set tieWaitForNote = ##t
\grace { c16[~ e~ g]~ } <c, e g>2
\repeat "tremolo" 8 { c32~ c'~ } <c c,>1
+e8~ c~ a~ f~ <e' c a f>2
+@end lilypond
+
+Ties may be engraved manually by changing the @code{tie-configuration}
+property. The first number indicates the distance from the center
+of the staff in staff-spaces, and the second number indicates the
+direction (1=up, -1=down).
+
+@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
+<c e g>2~ <c e g> |
+\override TieColumn #'tie-configuration =
+ #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1))
+<c e g>~ <c e g> |
@end lilypond
Program reference: @internalsref{Tie}.
-Examples:
-@inputfileref{input/@/regression,tie-arpeggio.ly}
-@inputfileref{input/@/regression,tie-manual.ly}
-
-
-
@refbugs
Switching staves when a tie is active will not produce a slanted tie.
+Changing clefs or octavations during a tie is not really
+well-defined. In these cases, a slur may be preferable.
+
@node Slurs
@subsection Slurs
@internalsref{LaissezVibrerTieColumn}
Example files:
-@inputfileref{input/regression,laissez-vibrer-tie.ly}
+@lsr{connecting,laissez-vibrer-ties.ly}
@node Automatic beams
When these automatic decisions are not good enough, beaming can be
entered explicitly. It is also possible to define beaming patterns
-that differ from the defaults. See @ref{Setting automatic beam behavior}
+that differ from the defaults. See @ref{Setting automatic beam behavior},
for details.
Individual notes may be marked with @code{\noBeam} to prevent them
@ref{Time administration}.
Line breaks are normally forbidden when beams cross bar lines. This
-behavior can be changed by setting @code{allowBeamBreak}.
+behavior can be changed by setting @code{breakable}.
+
+@funindex breakable
-@funindex allowBeamBreak
@cindex beams and line breaks
@cindex beams, kneed
@cindex kneed beams
@refbugs
Kneed beams are inserted automatically when a large gap is detected
-between the note heads. This behavior can be tuned through the object.
+between the note heads. This behavior can be tuned through the
+@code{auto-knee-gap} object.
Automatically kneed cross-staff beams cannot be used together with
hidden staves. See @ref{Hiding staves}.
Unlike @code{\acciaccatura} and @code{\appoggiatura}, the
@code{\grace} command does not start a slur.
-Internally, timing for grace notes is done using a second, `grace'
+Internally, timing for grace notes is done using a second, @q{grace}
timing. Every point in time consists of two rational numbers: one
denotes the logical time, one denotes the grace timing. The above
example is shown here with timing tuples
c1 \afterGrace d1 { c16[ d] } c4
@end lilypond
-This will put the grace notes after a ``space'' lasting 3/4 of the
+This will put the grace notes after a @q{space} lasting 3/4 of the
length of the main note. The fraction 3/4 can be changed by setting
@code{afterGraceFraction}, ie.
@example
-afterGraceFraction = #(cons 7 8)
+#(define afterGraceFraction (cons 7 8))
@end example
@noindent
The slash through the stem in acciaccaturas can be obtained
in other situations by @code{\override Stem #'stroke-style = #"grace"}.
+
+@commonprop
+
+Grace notes may be forced to use floating spacing,
+
+@lilypond[relative=2,ragged-right]
+<<
+ \override Score.SpacingSpanner #'strict-grace-spacing = ##t
+ \new Staff {
+ c'4
+ \afterGrace
+ c'4
+ { c'16[ c'8 c'16] }
+ c'4
+ }
+ \new Staff {
+ c'16[ c'16 c'16 c'16]
+ c'16[ c'16 c'16 c'16]
+ c'4
+ }
+>>
+@end lilypond
+
+
@seealso
Program reference: @internalsref{GraceMusic}.
* Trills::
* Glissando::
* Arpeggio::
+* Falls and doits::
@end menu
Program reference: @internalsref{Fingering}.
-Examples: @inputfileref{input/@/regression,finger@/-chords@/.ly}.
+Examples: @lsr{expressive,fingering-chords.ly}
@node Dynamics
@end lilypond
@noindent
-A hairpin starts at the left edge of the beginning note and ends on the
-right edge of the ending note.
+A hairpin normally starts at the left edge of the beginning note
+and ends on the right edge of the ending note. If the ending
+note falls on the downbeat, the hairpin ends on the immediately
+preceding barline. This may be modified by setting the
+@code{hairpinToBarline} property,
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+\set hairpinToBarline = ##f
+c4\< c2. c4\!
+@end lilypond
In some situations the @code{\espressivo} articulation mark may
be suitable to indicate a crescendo and decrescendo on the one note,
\override Voice.Hairpin #'minimum-length = #5
@end example
+@cindex al niente
+@cindex niente, al
+
+Hairpins may be printed with a circled tip (al niente notation) by
+setting the @code{circled-tip} property,
+
+@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
+\override Hairpin #'circled-tip = ##t
+c2\< c\!
+c4\> c\< c2\!
+@end lilypond
+
+
@cindex crescendo
@cindex decrescendo
@cindex diminuendo
To create new dynamic marks or text that should be aligned
with dynamics, see @ref{New dynamic marks}.
+Vertical positioning of dynamics is handled by
+@internalsref{DynamicLineSpanner}.
+
@commonprop
Program reference: @internalsref{BreathingSign}.
-Examples: @inputfileref{input/@/regression,breathing@/-sign@/.ly}.
+Examples: @lsr{expressive,breathing-sign.ly}
@node Trills
Program reference: @internalsref{Glissando}.
-Example files: @file{input/@/regression/@/glissando@/.ly}.
+Example files:
+@lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly}
+
@refbugs
arpeggios in one @internalsref{PianoStaff} at the same point in time.
+@node Falls and doits
+@subsection Falls and doits
+Falls and doits can be added to notes using the @code{\bendAfter}
+command,
+
+@lilypond[fragment,ragged-right,relative=2]
+\override Score.SpacingSpanner #'shortest-duration-space = #3.0
+c4-\bendAfter #+5
+c4-\bendAfter #-3
+@end lilypond
@node Repeats
for repeats with alternatives. These are not played in MIDI output by
default.
-@ignore
-@item fold
-Alternative endings are written stacked. This has limited use but may be
-used to typeset two lines of lyrics in songs with repeats, see
-@inputfileref{input,star-spangled-banner@/.ly}.
-@end ignore
@item tremolo
Make tremolo beams. These are not played in MIDI output by default.
@node Repeat syntax
@subsection Repeat syntax
+@cindex volta
+@cindex prima volta
+@cindex seconda volta
+
LilyPond has one syntactic construct for specifying different types of
repeats. The syntax is
is assumed to be played more than once.
Standard repeats are used like this
+
@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
c1
\repeat volta 2 { c4 d e f }
@end lilypond
With alternative endings
+
@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
c1
\repeat volta 2 {c4 d e f}
\alternative { {d2 d} {f f,} }
@end lilypond
-In the following example, the first ending is not a complete
-bar (it only had 3 beats). The beginning of the second ending
-contains the 4th beat from the first ending. This ``extra''
-beat in the second ending is due to the first time ending,
-and has nothing to do with the @code{\partial} at the
-beginning of the example.
+Repeats with upbeats may be created.
@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
\new Staff {
- \partial 4
- \repeat volta 4 { e | c2 d2 | e2 f2 | }
- \alternative { { g4 g g } { a | a a a a | b2. } }
+ \partial 4 e |
+ \repeat volta 4 { c2 d2 | e2 f2 | }
+ \alternative { { g4 g g e } { a a a a | b2. } }
}
@end lilypond
Brackets for the repeat are normally only printed over the topmost
staff. This can be adjusted by setting the @code{voltaOnThisStaff}
-property; see @inputfileref{input/@/regression,volta@/-multi@/-staff@/.ly}.
+property; see
+
+@lsr{repeats,volta@/-multi@/-staff@/.ly}.
@refbugs
example, by setting @code{Score.measurePosition} or entering
@code{\partial}. Similarly, slurs or ties are also not repeated.
+Volta brackets are not vertically aligned.
+
@node Repeats and MIDI
@subsection Repeats and MIDI
Program reference: @internalsref{Beam}, @internalsref{StemTremolo}.
-Example files: @inputfileref{input/@/regression,chord@/-tremolo@/.ly},
-@inputfileref{input/@/regression,stem@/-tremolo@/.ly}.
-
@node Tremolo subdivisions
@subsection Tremolo subdivisions
@funindex tremoloFlags
Tremolo marks can be printed on a single note by adding
-`@code{:}[@var{number}]' after the note. The number indicates the
+@q{@code{:}[@var{number}]} after the note. The number indicates the
duration of the subdivision, and it must be at least 8. A
@var{length} value of 8 gives one line across the note stem. If the
length is omitted, the last value (stored in @code{tremoloFlags}) is