Guide, node Updating translation committishes..
@end ignore
-@c \version "2.13.36"
+@c \version "2.14.0"
@node Rhythms
@section Rhythms
@snippets
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
+{alternative-breve-note.ly}
+
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{changing-the-number-of-augmentation-dots-per-note.ly}
@funindex tupletNumberFormatFunction
@funindex tupletSpannerDuration
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{entering-several-tuplets-using-only-one--times-command.ly}
@cindex Tuplet number changes
@funindex TupletNumber
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{changing-the-tuplet-number.ly}
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{non-default-tuplet-numbers.ly}
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{controlling-tuplet-bracket-visibility.ly}
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{permitting-line-breaks-within-beamed-tuplets.ly}
@snippets
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{using-ties-with-arpeggios.ly}
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{engraving-ties-manually.ly}
Switching staves when a tie is active will not produce a slanted
tie.
-Changing clefs or octavations during a tie is not really
+Changing clefs or ottavations during a tie is not really
well-defined. In these cases, a slur may be preferable.
@snippets
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{rest-styles.ly}
@cindex rest, church
@cindex kirchenpausen
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{changing-form-of-multi-measure-rests.ly}
@cindex multi-measure rests, positioning
@cindex positioning multi-measure rests
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{positioning-multi-measure-rests.ly}
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{multi-measure-rest-markup.ly}
@lilypond[quote,verbatim]
\score {
- \relative c' {
- \overrideTimeSignatureSettings
- #'Score % context
- #'(4 . 4) % timeSignatureFraction
- #'(1 . 4) % baseMomentFraction
- #'(3 1) % beatStructure
- #'() % beamExceptions
- \time 4/4
- \repeat unfold 8 { c8 } |
+ \new Staff {
+ \relative c' {
+ \overrideTimeSignatureSettings
+ #'(4 . 4) % timeSignatureFraction
+ #'(1 . 4) % baseMomentFraction
+ #'(3 1) % beatStructure
+ #'() % beamExceptions
+ \time 4/4
+ \repeat unfold 8 { c8 } |
+ }
}
}
@end lilypond
-@code{\overrideTimeSignatureSettings} takes five arguments:
+@code{\overrideTimeSignatureSettings} takes four arguments:
@enumerate
-@item
-@code{@var{context}}, a Scheme symbol that describes the context
-to which the default setting will apply.
@item
@code{@var{timeSignatureFraction}}, a Scheme pair describing the
described in @ref{Setting automatic beam behavior}.
@end enumerate
+The context containing @code{\overrideTimeSignatureSettings} must
+be instantiated before the @code{\overrideTimeSignatureSettings}
+call is executed. That means it must either be explicitly
+instantiated or there must be music in the context before the
+@code{\overrideTimeSignatureSettings} call:
+
+@lilypond[quote,verbatim]
+\score {
+ \relative c' {
+ % This call will fail because the context isn't yet instantiated
+ \overrideTimeSignatureSettings
+ #'(4 . 4) % timeSignatureFraction
+ #'(1 . 4) % baseMomentFraction
+ #'(3 1) % beatStructure
+ #'() % beamExceptions
+ \time 4/4
+ c8^\markup {"Beamed (2 2)"}
+ \repeat unfold 7 { c8 } |
+ % This call will succeed
+ \overrideTimeSignatureSettings
+ #'(4 . 4) % timeSignatureFraction
+ #'(1 . 4) % baseMomentFraction
+ #'(3 1) % beatStructure
+ #'() % beamExceptions
+ \time 4/4
+ c8^\markup {"Beamed (3 1)"}
+ \repeat unfold 7 { c8 } |
+ }
+}
+@end lilypond
+
+
@cindex time signature properties, restoring default values
@cindex restoring default properties for time signatures
@funindex \revertTimeSignatureSettings
\relative c' {
\repeat unfold 8 { c8 } |
\overrideTimeSignatureSettings
- #'Score % context
- #'(4 . 4) % timeSignatureFraction
- #'(1 . 4) % baseMomentFraction
- #'(3 1) % beatStructure
- #'((end . (((1 . 8) . (3 1))))) % beamExceptions
+ #'(4 . 4) % timeSignatureFraction
+ #'(1 . 4) % baseMomentFraction
+ #'(3 1) % beatStructure
+ #'() % beamExceptions
\time 4/4
\repeat unfold 8 { c8 } |
- \revertTimeSignatureSettings #'Score #'(4 . 4)
+ \revertTimeSignatureSettings #'(4 . 4)
\time 4/4
\repeat unfold 8 { c8 } |
}
}
@end lilypond
+Different values of default time signature properties can be established
+for different staves by moving the @code{Timing_translator} and the
+@code{Default_bar_line_engraver} from the @code{Score} context to the
+@code{Staff} context.
+
+@lilypond[quote, verbatim]
+\score {
+ \new StaffGroup <<
+ \new Staff {
+ \overrideTimeSignatureSettings
+ #'(4 . 4) % timeSignatureFraction
+ #'(1 . 4) % baseMomentFraction
+ #'(3 1) % beatStructure
+ #'() % beamExceptions
+ \time 4/4
+ \repeat unfold 8 {c''8}
+ }
+ \new Staff {
+ \overrideTimeSignatureSettings
+ #'(4 . 4) % timeSignatureFraction
+ #'(1 . 4) % baseMomentFraction
+ #'(1 3) % beatStructure
+ #'() % beamExceptions
+ \time 4/4
+ \repeat unfold 8 {c''8}
+ }
+ >>
+ \layout {
+ \context {
+ \Score
+ \remove "Timing_translator"
+ \remove "Default_bar_line_engraver"
+ }
+ \context {
+ \Staff
+ \consists "Timing_translator"
+ \consists "Default_bar_line_engraver"
+ }
+ }
+}
+@end lilypond
+
@predefined
@code{\numericTimeSignature},
@code{\defaultTimeSignature}.
@snippets
-
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{changing-the-time-signature-without-affecting-the-beaming.ly}
-
-@cindex compound time signatures
-@cindex time signature, compound
-
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{compound-time-signatures.ly}
-
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly}
e4. d8 c2
@end lilypond
+Metronome marks may also be printed as a range of two numbers:
+
+@lilypond[verbatim,quote,relative=1]
+\tempo 4 = 40 ~ 46
+c4. e8 a4 g
+b,2 d4 r
+@end lilypond
+
Tempo indications with text can be used instead:
@lilypond[verbatim,quote,relative=2]
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{printing-metronome-and-rehearsal-marks-below-the-staff.ly}
@c perhaps also an example of how to move it horizontally?
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{changing-the-tempo-without-a-metronome-mark.ly}
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{creating-metronome-marks-in-markup-mode.ly}
For more details, see @ref{Formatting text}.
The property @code{measurePosition} contains a rational number
indicating how much of the measure has passed at this point. Note
that this is set to a negative number by the @code{\partial} command:
-i.e., @code{\partial 4} is internally translated to @code{-4}, meaning
+i.e., @code{\partial 4} is internally translated to @w{@code{-4}}, meaning
@qq{there is a quarter note left in the measure.}
@seealso
d4 e d c
@end lilypond
-@cindex beaming in cadenzas
-@cindex beaming in unmetered music
-@cindex cadenza, beaming in
-@cindex unmetered music, beaming in
+@cindex beams, in cadenzas
+@cindex beams, in unmetered music
+@cindex cadenza, with beams
+@cindex unmetered music, with beams
Automatic beaming is disabled by @code{\cadenzaOn} and enabled
by @code{\cadenzaOff}. Therefore, all beaming in cadenzas
@funindex \times
@funindex times
-Polymetric notation is supported, either explicitly or by modifying
-the visible time signature symbol and scaling the note durations.
+Polymetric notation is supported explicitly or by manually modifying the
+visible time signature symbol and/or scaling note durations.
-@strong{@i{Staves with different time signatures, equal measure lengths}}
+@subsubheading Different time signatures with equal-length measures
-This notation can be created by setting a common time signature
-for each staff but replacing the symbol manually by setting
-@code{timeSignatureFraction} to the desired fraction and scaling
-the printed durations in each staff to the common time
-signature; see @ref{Time signature}. The scaling is done with
-@code{\scaleDurations}, which is used in a similar way to
-@code{\times}, but does not create a tuplet bracket; see
-@ref{Scaling durations}.
+Set a common time signature for each staff, and set the
+@code{timeSignatureFraction} to the desired fraction. Then use the
+@code{\scaleDurations} function to scale the durations of the notes in
+each staff to the common time signature.
-@cindex beaming in polymetric music
-@cindex beaming in polymetric meter
+@cindex beams, with polymetric meters
+@cindex polymetric meters, with beams
-In this example, music with the time signatures of 3/4, 9/8, and
-10/8 are used in parallel. In the second staff, shown durations
-are multiplied by 2/3, as 2/3 * 9/8 = 3/4, and in the third
-staff, shown durations are multiplied by 3/5, as 3/5 * 10/8 = 3/4.
-It will often be necessary to insert beams manually, as the
-duration scaling affects the autobeaming rules.
+In the following example, music with the time signatures of 3/4, 9/8 and
+10/8 are used in parallel. In the second staff, shown durations are
+multiplied by 2/3 (because 2/3 * 9/8 = 3/4) and in the third staff, the
+shown durations are multiplied by 3/5 (because 3/5 * 10/8 = 3/4). It
+may be necessary to insert beams manually, as the duration scaling will
+affect the autobeaming rules.
@lilypond[quote,verbatim]
\relative c' <<
\new Staff {
\time 3/4
c4 c c |
- c c c |
+ c4 c c |
}
\new Staff {
\time 3/4
\set Staff.timeSignatureFraction = #'(9 . 8)
\scaleDurations #'(2 . 3)
- \repeat unfold 6 { c8[ c c] }
+ \repeat unfold 6 { c8[ c c] }
}
\new Staff {
\time 3/4
\scaleDurations #'(3 . 5) {
\repeat unfold 2 { c8[ c c] }
\repeat unfold 2 { c8[ c] } |
- c4. c4. \times 2/3 { c8[ c c] } c4
+ c4. c \times 2/3 { c8[ c c] } c4
}
}
>>
@end lilypond
-@strong{@i{Staves with different time signatures, unequal bar lengths}}
+@subsubheading Different time signatures with unequal-length measures
Each staff can be given its own independent time signature by
moving the @code{Timing_translator} and the
>>
@end lilypond
-@snippets
+@funindex \compoundMeter
+@cindex compound time signatures
+@cindex time signature, compound
+
+@subsubheading Compound time signatures
+
+These are created using the @code{\compoundMeter} function. The syntax
+for this is:
+
+@example
+\compoundMeter #'@code{(list of lists)}
+@end example
+
+The simplest construction is a single list, where the @emph{last} number
+indicates the bottom number of the time signature and those that come
+before it, the top numbers.
+
+@lilypond[quote,verbatim]
+\relative c' {
+ \compoundMeter #'((2 2 2 8))
+ \repeat unfold 6 c8 \repeat unfold 12 c16
+}
+@end lilypond
+
+More complex meters can be constructed using additional lists. Also,
+automatic beaming settings will be adjusted depending on the values.
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{compound-time-signatures.ly}
+@lilypond[quote,verbatim]
+\relative c' {
+ \compoundMeter #'((1 4) (3 8))
+ \repeat unfold 5 c8 \repeat unfold 10 c16
+}
+\relative c' {
+ \compoundMeter #'((1 2 3 8) (3 4))
+ \repeat unfold 12 c8
+}
+@end lilypond
@seealso
Music Glossary:
@rglos{meter}.
Notation Reference:
+@ref{Automatic beams},
+@ref{Manual beams},
@ref{Time signature},
@ref{Scaling durations}.
@knownissues
-
-When using different time signatures in parallel, notes
-at the same moment will be placed at the same horizontal
-location. However, the bar lines in the different staves
-will cause the note spacing to be less regular in each of the
-individual staves than would be normal without the different
-time signatures.
+When using different time signatures in parallel, notes at the same
+moment will be placed at the same horizontal location. However, the bar
+lines in the different staves will cause the note spacing to be less
+regular in each of the individual staves than would be normal without
+the different time signatures.
@node Automatic note splitting
@unnumberedsubsubsec Automatic note splitting
@cindex notes, splitting
@cindex splitting notes
+@cindex rests, splitting
+@cindex splitting rests
@funindex Note_heads_engraver
@funindex Completion_heads_engraver
+@funindex Completion_rest_engraver
-Long notes which overrun bar lines can be converted automatically
-to tied notes. This is done by replacing the
-@code{Note_heads_engraver} with the
-@code{Completion_heads_engraver}. In the following
-example, notes crossing the bar lines are split and tied.
+Long notes which overrun bar lines can be converted automatically to
+tied notes. This is done by replacing the @code{Note_heads_engraver}
+with the @code{Completion_heads_engraver}. Similarly, long rests which
+overrun bar lines are split automatically by replacing the
+@code{Rest_engraver} with the @code{Completion_rest_engraver}. In the
+following example, notes and rests crossing the bar lines are split,
+notes are also tied.
@lilypond[quote,verbatim,relative=1]
\new Voice \with {
\remove "Note_heads_engraver"
\consists "Completion_heads_engraver"
+ \remove "Rest_engraver"
+ \consists "Completion_rest_engraver"
}
-{ c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 }
+{ c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 r1*2 }
@end lilypond
-This engraver splits all running notes at the bar line, and
-inserts ties. One of its uses is to debug complex scores: if the
-measures are not entirely filled, then the ties show exactly how
+These engravers split all running notes and rests at the bar line, and
+inserts ties for notes. One of its uses is to debug complex scores: if
+the measures are not entirely filled, then the ties show exactly how
much each measure is off.
Internals Reference:
@rinternals{Note_heads_engraver},
@rinternals{Completion_heads_engraver},
+@rinternals{Rest_engraver},
+@rinternals{Completion_rest_engraver},
@rinternals{Forbid_line_break_engraver}.
@snippets
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{guitar-strum-rhythms.ly}
@cindex beams, manual
@cindex manual beams
-@cindex beams, setting rules for
-@cindex beams, custom rules for
+@cindex beams, customizing rules
@funindex \autoBeamOn
@funindex autoBeamOn
c16 c8
@end lilypond
-@cindex melismata, beams
-@cindex beams and melismata
+@cindex melismata, with beams
+@cindex beams, with melismata
@warning{If beams are used to indicate melismata in songs, then
automatic beaming should be switched off with @code{\autoBeamOff}
Beaming patterns that differ from the automatic defaults can be
created; see @ref{Setting automatic beam behavior}.
-
@predefined
@code{\autoBeamOff},
@code{\autoBeamOn}.
@endpredefined
-
-@snippets
-
-
-@cindex line breaks and beams
-@cindex beams and line breaks
-
+@cindex beams, line breaks
+@cindex line breaks, beams
+@cindex beams, with knee gap
+@cindex knee gap, with beams
@funindex breakable
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@snippets
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{beams-across-line-breaks.ly}
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{changing-beam-knee-gap.ly}
-@cindex \partcombine and \autoBeamOff
-@cindex \autoBeamOff and \partcombine
+@cindex beams, \partcombine with \autoBeamOff
+@cindex voices, \partcombine with \autoBeamOff
-
-@lilypondfile [verbatim, lilyquote, ragged-right, texidoc, doctitle]
+@lilypondfile [verbatim, quote, ragged-right, texidoc, doctitle]
{partcombine-and-autobeamoff.ly}
-
@seealso
Notation Reference:
@ref{Manual beams},
@rinternals{beam-interface},
@rinternals{unbreakable-spanner-interface}.
-
-@knownissues
-
-Beams can collide with note heads and accidentals in other voices.
-
-
@node Setting automatic beam behavior
@unnumberedsubsubsec Setting automatic beam behavior
-
-@cindex automatic beams, tuning
-@cindex tuning automatic beaming
-@cindex automatic beam generation
-@cindex autobeam
-@cindex lyrics and beaming
+@cindex beams, with lyrics
+@cindex lyrics, with beams
@funindex autoBeaming
@funindex baseMoment
of beaming-rules.
At this time the only available value of rule-type is
-@code{#'end} for beam ending.
+@code{'end} for beam ending.
Beaming-rules is a scheme alist (or list of pairs) that indicates the
beam type and the grouping to be applied to beams containing notes with
\repeat unfold 6 { a8 }
@end lilypond
-These default automatic beaming settings for a time signature
+The default automatic beaming settings for a time signature
are determined in @file{scm/time-signature-settings.scm}.
-The automatic beaming settings for a time signature can be changed
-as described in @ref{Time signature}.
+Changing the default automatic beaming settings
+for a time signature is described in @ref{Time signature}.
+
+Many automatic beaming settings for a time signature contain an
+entry for @code{beamExceptions}. For example, 4/4 time tries to
+beam the measure in two if there are only eighth notes. The
+@code{beamExceptions} rule can override the @code{beatStructure} setting
+if @code{beamExceptions} is not reset.
+
+@lilypond[quote,verbatim,relative=2]
+\time 4/4
+\set Timing.baseMoment = #(ly:make-moment 1 8)
+\set Timing.beatStructure = #'(3 3 2)
+% This won't beam (3 3 2) because of beamExceptions
+\repeat unfold 8 {c8} |
+% This will beam (3 3 2) because we clear beamExceptions
+\set Timing.beamExceptions = #'()
+\repeat unfold 8 {c8}
+@end lilypond
+
+In a similar fashion, eighth notes in 3/4 time are beamed as a full
+measure by default. To beam eighth notes in 3/4 time on the beat,
+reset @code{beamExceptions}.
+
+@lilypond[quote,verbatim,relative=2]
+\time 3/4
+% by default we beam in (3) due to beamExceptions
+\repeat unfold 6 {a8} |
+% This will beam (1 1 1) due to beatLength
+\set Timing.beamExceptions = #'()
+\repeat unfold 6 {a8}
+@end lilypond
@i{@strong{How automatic beaming works}}
@end itemize
-In the rules above, the beam-type is the duration of the
+In the rules above, the @emph{beam-type} is the duration of the
shortest note in the beamed group.
-For reference, the default beaming rules are found in
+The default beaming rules can be found in
@file{scm/time-signature-settings.scm}.
@snippets
@cindex beams, subdividing
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{subdividing-beams.ly}
@cindex measure groupings
@cindex grouping beats
@cindex measure sub-grouping
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{conducting-signs,-measure-grouping-signs.ly}
-@cindex beam, last in score
-@cindex beam, last in polyphonic voice
+@cindex beam, endings in a score
+@cindex beam, endings with multiple voices
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{beam-endings-in-score-context.ly}
The workaround for these problems is to manually beam the last
beam in the voice or score.
+By default, the @code{Timing} translator is aliased to the
+@code{Score} context. This means that setting the time signature
+in one staff will affect the beaming of the other staves as well.
+Thus, a time signature setting in a later staff will reset custom
+beaming that was set in an earlier staff.
+One way to avoid this problem is to set the time signature
+in only one staff.
+
+@lilypond[quote,verbatim,relative=2]
+<<
+ \new Staff {
+ \time 3/4
+ \set Timing.baseMoment = #(ly:make-moment 1 8)
+ \set Timing.beatStructure = #'(1 5)
+ \repeat unfold 6 { a8 }
+ }
+ \new Staff {
+ \repeat unfold 6 { a8 }
+ }
+>>
+@end lilypond
+
+The default beam settings for the time signature can also be changed, so
+that the desired beaming will always be used. Changes in automatic
+beaming settings for a time signature are described in
+@ref{Time signature}.
+
+@lilypond[quote,verbatim,relative=2]
+<<
+ \new Staff {
+ \overrideTimeSignatureSettings
+ #'(3 . 4) % timeSignatureFraction
+ #'(1 . 8) % baseMomentFraction
+ #'(1 5) % beatStructure
+ #'() % beamExceptions
+ \time 3/4
+ \repeat unfold 6 { a8 }
+ }
+ \new Staff {
+ \time 3/4
+ \repeat unfold 6 { a8 }
+ }
+>>
+@end lilypond
+
@node Manual beams
@unnumberedsubsubsec Manual beams
@snippets
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{flat-flags-and-beam-nibs.ly}
direction to the @code{Beam} property @code{grow-direction}.
If the placement of the notes and the sound in the MIDI output is to
-reflect the ritardando or accelerando indicated by the feathered beam
-the notes must be grouped as a music expression delimited by braces
-and preceded by a @code{featherDurations} command which specifies
+reflect the @emph{ritardando} or @emph{accelerando} indicated by the
+feathered beam the notes must be grouped as a music expression delimited
+by braces and preceded by a @code{featherDurations} command which specifies
the ratio between the durations of the first and last notes in the
group.
@snippets
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{printing-the-bar-number-for-the-first-measure.ly}
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{printing-bar-numbers-at-regular-intervals.ly}
@cindex measure number, format
@cindex bar number, format
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{printing-bar-numbers-inside-boxes-or-circles.ly}
@cindex bar number alignment
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{aligning-bar-numbers.ly}
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{removing-bar-numbers-from-a-score.ly}
@cindex acciaccatura
@funindex \grace
-@funindex grace
+@funindex \slashedGrace
+@funindex \acciaccatura
+@funindex \appoggiatura
-Grace notes are ornaments that are written out. Grace notes
-are printed in a smaller font and take up no logical time
-in a measure.
+Grace notes are musical ornaments, printed in a smaller font, that take
+up no additional logical time in a measure.
@lilypond[quote,relative=2,verbatim]
-c4 \grace c16 c4
-\grace { c16[ d16] } c2
+c4 \grace b16 a4(
+\grace { b16[ c16] } a2)
@end lilypond
-LilyPond also supports two special types of grace notes, the
+There are three other types of grace notes possible; the
@emph{acciaccatura} -- an unmeasured grace note indicated by a slurred
-small note with a slashed stem -- and the @emph{appoggiatura}, which
-takes a fixed fraction of the main note and appears in small print
-without a slash.
+note with a slashed stem -- and the @emph{appoggiatura}, which takes a
+fixed fraction of the main note it is attached to and prints without the
+slash. It is also possible to write a grace note with a slashed stem,
+like the @emph{acciaccatura} but without the slur, so as to place it
+between notes that are slurred themselves, using the
+@code{\slashedGrace} function.
@lilypond[quote,relative=2,verbatim]
-\grace c8 b4
\acciaccatura d8 c4
\appoggiatura e8 d4
-\acciaccatura { g16[ f] } e4
+\acciaccatura { g16[ f] } e2
+\slashedGrace a,8 g4
+\slashedGrace b16 a4(
+\slashedGrace b8 a2)
@end lilypond
-The placement of grace notes is synchronized between different
-staves. In the following example, there are two sixteenth grace
-notes for every eighth grace note
+The placement of grace notes is synchronized between different staves.
+In the following example, there are two sixteenth grace notes for every
+eighth grace note
@lilypond[quote,relative=2,verbatim]
<<
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{using-grace-note-slashes-with-normal-heads.ly}
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{tweaking-grace-layout-within-music.ly}
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{redefining-grace-note-global-defaults.ly}
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{positioning-grace-notes-with-floating-space.ly}
>>
@end lilypond
-Grace sections should only be used within sequential music
-expressions. Nesting or juxtaposing grace sections is not
-supported, and might produce crashes or other errors.
+The use of grace notes within voice contexts confuses the way the voice
+is typeset. This can be overcome by inserting a rest or note between the
+voice command and the grace note.
+
+@lilypond[quote,verbatim]
+accMusic = {
+ \acciaccatura { f8 } e8 r8 \acciaccatura { f8 } e8 r4
+}
+
+\new Staff {
+ <<
+ \new Voice {
+ \relative c'' {
+ r8 r8 \voiceOne \accMusic \oneVoice r8 |
+ r8 \voiceOne r8 \accMusic \oneVoice r8 |
+ }
+ }
+ \new Voice {
+ \relative c' {
+ s8 s8 \voiceTwo \accMusic \oneVoice s8 |
+ s8 \voiceTwo r8 \accMusic \oneVoice s8 |
+ }
+ }
+ >>
+}
+@end lilypond
+
+Grace sections should only be used within sequential music expressions.
+Nesting or juxtaposing grace sections is not supported, and might
+produce crashes or other errors.
+
+Each grace note in MIDI output has a length of 1/4 of its actual
+duration. If the combined length of the grace notes is greater than the
+length of the preceding note a @qq{@code{Going back in MIDI time}}
+error will be generated. Either make the grace notes shorter in
+duration, for example:
+
+@example
+\acciaccatura @{ c'8[ d' e' f' g'] @}
+@end example
+
+becomes:
+
+@example
+\acciaccatura @{ c'16[ d' e' f' g'] @}
+@end example
+
+Or explicitly change the musical duration:
+
+@example
+\acciaccatura @{ \scaleDurations #' (1 . 2) @{ c'8[ d' e' f' g'] @} @}
+@end example
+
+See @ref{Scaling durations}.
+
@node Aligning to cadenzas
@unnumberedsubsubsec Aligning to cadenzas