@rglos{tuplet},
@rglos{polymetric}.
-Learning Manual: @rlearning{Tweaking methods}.
+Learning Manual:
+@rlearning{Tweaking methods}.
Notation Reference:
@ref{Time administration},
@rinternals{TupletNumber},
@rinternals{TimeScaledMusic}.
+
@cindex grace notes within tuplet brackets
@knownissues
Snippets:
@rlsr{Rhythms}.
-Internals Reference:
+Internals Reference:
@rinternals{SkipMusic}.
@cindex compound time signatures
@cindex time signature, compound
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{compound-time-signatures.ly}
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly}
+
@seealso
Music Glossary:
d4 e d c
@end lilypond
+Note that these predefined commands affect all staves in the
+score, even when they are placed in just one @code{Voice}
+context. To change this, move the @code{Timing_translator}
+from the @code{Score} context to the @code{Staff} context, as
+shown in @ref{Polymetric notation}.
@predefined
@code{\cadenzaOn},
@rglos{cadenza}.
Notation Reference:
-@ref{Visibility of objects}.
+@ref{Visibility of objects},
+@ref{Polymetric notation}.
Snippets:
@rlsr{Rhythms}.
@noindent
to indicate where breaks can occur.
+You must explicitly create a @code{Voice} context when starting a
+piece with @code{\cadenzaOn}, otherwise strange errors may occur.
+
+@lilypond[verbatim,relative=2,fragment]
+\new Voice \relative c'{
+ \cadenzaOn
+ c16^"Solo Free Time" d e f g2. \bar "||"
+ \cadenzaOff
+}
+@end lilypond
+
@node Polymetric notation
@unnumberedsubsubsec Polymetric notation
\new Staff {
\time 3/4
c4 c c |
- c c c |
+ c4 c c |
}
\new Staff {
\time 2/4
c4 c |
- c c |
- c c |
+ c4 c |
+ c4 c |
}
\new Staff {
\time 3/8
@seealso
-Music Glossary: @rglos{tie}
+Music Glossary:
+@rglos{tie}
Learning Manual:
@rlearning{Engravers explained},
Snippets:
@rlsr{Rhythms}.
-Internals Reference: @rinternals{Beam}.
+Internals Reference:
+@rinternals{Auto_beam_engraver},
+@rinternals{Beam_engraver},
+@rinternals{Beam},
+@rinternals{BeamEvent},
+@rinternals{BeamForbidEvent},
+@rinternals{beam-interface},
+@rinternals{unbreakable-spanner-interface}.
@knownissues
the appearance of beams:
@itemize
-
-@item If a manual beam is specified with @code{[..]} set the beam
+@item
+If a manual beam is specified with @code{[..]} set the beam
as specified, otherwise
-@item if @code{\autoBeamOff} is in force do not beam, otherwise
+@item
+if @code{\autoBeamOff} is in force do not beam, otherwise
-@item if an explicit beam-ending rule is defined for the beam type
+@item
+if an explicit beam-ending rule is defined for the beam type
in the time signature, use it to determine the valid
places where beams may end, otherwise
-@item if a default beam-ending rule is defined in the time signature,
+@item
+if a default beam-ending rule is defined in the time signature,
use it to group notes with beams, otherwise
-@item use the value of @code{beatLength} to group notes with beams
+@item
+use the value of @code{beatLength} to group notes with beams
@end itemize
Autobeam and beam subdivide settings are stored in the
@code{beamSettings} property. Default values of @code{beamSettings}
-are determined in @file{scm/beam-settings.scm}. Entries in
+are determined in @file{scm/@/beam@/-settings@/.scm}. Entries in
@code{beamSettings} are indexed by time signature and
rule type.
@code{*}, the grouping is in units of @code{beatLength}.
For explicit rules, the grouping is in units of the beam type.
+For reference, the default beaming rules are found in
+@file{scm/beam-settings.scm}.
+
Beam settings are changed with
@code{\overrideBeamSettings} and @code{\revertBeamSettings}.
+@warning{
+The ending and subdivision settings must be
+@emph{complete} rules. That is, every rule that should apply to
+the current time signature must be included in the setting.
+It is not possible to change the grouping of only one beam type
+for a given time signature. While this may seem cumbersome,
+it means that the current beaming settings need not be known
+in order to specify a new beaming pattern.}
+
@lilypond[quote,relative=2,verbatim]
- \time 5/16
- c8^"beats" c16 c8 |
- \overrideBeamSettings #'Score #'(5 . 16) #'end #'((* . (2 3)))
- c8^"(2+3)" c16 c8
- \overrideBeamSettings #'Score #'(5 . 16) #'end #'((* . (3 2)))
- c8^"(3+2)" c16 c8
+\time 5/16
+c8^"beats" c16 c8 |
+\overrideBeamSettings #'Score #'(5 . 16) #'end #'((* . (2 3)))
+c8^"(2+3)" c16 c8
+\overrideBeamSettings #'Score #'(5 . 16) #'end #'((* . (3 2)))
+c8^"(3+2)" c16 c8
@end lilypond
Beam setting changes can be limited to specific contexts. If no
@lilypond[quote,verbatim,relative=2]
\time 4/4
-\repeat unfold 16 {a16}
+\repeat unfold 8 {a8}
% set default rule for (1 1 1 1) grouping
\overrideBeamSettings #'Score #'(4 . 4) #'end #'((* . (1 1 1 1)))
-\repeat unfold 16 {a16}
+\repeat unfold 8 {a8}
% revert the new rule
\revertBeamSettings #'Score #'(4 . 4) #'end
-\repeat unfold 16 {a16}
+\repeat unfold 8 {a8}
@end lilypond
+
+@predefined
+@code{\overrideBeamSettings},
+@code{\revertBeamSettings}.
+@endpredefined
+
+
@snippets
@cindex beams, subdividing
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{conducting-signs,-measure-grouping-signs.ly}
+@cindex beam, last in score
+@cindex beam, last in polyphonic voice
+
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{beam-endings-in-score-context.ly}
-@cindex beam, last in score
-@cindex beam, last in polyphonic voice
+
+@seealso
+Installed files:
+@file{scm/beam-settings.scm}.
+
+Snippets:
+@rlsr{Rhythms}.
+
+Internals Reference:
+@rinternals{Auto_beam_engraver},
+@rinternals{Beam},
+@rinternals{BeamForbidEvent},
+@rinternals{beam-interface}.
+
@knownissues
automatic beam is still accepting notes, it is not typeset.
-@seealso
-Snippets:
-@rlsr{Rhythms}.
-
-
@node Manual beams
@unnumberedsubsubsec Manual beams
beaming algorithm. For example, the autobeamer will not put beams
over rests or bar lines, and in choral scores the beaming is
often set to follow the meter of the lyrics rather than the
-notes. Such beams can be specified manually by
-marking the begin and end point with @code{[} and @code{]}
+notes. Such beams can be specified manually by
+marking the begin and end point with @code{[} and @code{]}.
@lilypond[quote,relative=1,verbatim]
-{
- r4 r8[ g' a r8] r8 g[ | a] r8
-}
+r4 r8[ g' a r8] r8 g[ | a] r8
@end lilypond
+@cindex manual beams, direction shorthand for
+
+Beaming direction can be set manually using direction indicators:
+
+@lilypond[quote,relative=2,verbatim]
+c8^[ d e] c,_[ d e f g]
+@end lilypond
@funindex \noBeam
@funindex noBeam
from being beamed:
@lilypond[quote,verbatim,relative=2]
-\time 2/4 c8 c\noBeam c c
+\time 2/4
+c8 c\noBeam c c
@end lilypond
@funindex stemLeftBeamCount
a8[ r16
\set stemLeftBeamCount = #2
\set stemRightBeamCount = #1
-f
+f16
\set stemLeftBeamCount = #1
-g a]
+g16 a]
@end lilypond
+@predefined
+@code{\noBeam}.
+@endpredefined
+
+
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{flat-flags-and-beam-nibs.ly}
+
+@seealso
+Notation Reference:
+@ref{Direction and placement}.
+
+Snippets:
+@rlsr{Rhythms}.
+
+Internals Reference:
+@rinternals{Beam},
+@rinternals{BeamEvent},
+@rinternals{Beam_engraver},
+@rinternals{beam-interface},
+@rinternals{Stem_engraver}.
+
+
@node Feathered beams
@unnumberedsubsubsec Feathered beams
The spacing in the printed output represents the
note durations only approximately, but the MIDI output is exact.
-@knownissues
-
-The @code{\featherDurations} command only works with very short
-music snippets, and when numbers in the fraction are small.
+@predefined
+@code{\featherDurations}.
+@endpredefined
@seealso
Snippets:
@rlsr{Rhythms}.
+@knownissues
+
+The @code{\featherDurations} command only works with very short
+music snippets, and when numbers in the fraction are small.
+
+
@node Bars
@subsection Bars
Line breaks are also permitted at manually inserted bar lines
even within incomplete measures. To allow a line break without
-printing a bar line, use
+printing a bar line, use the following:
@example
\bar ""
@cindex measure lines, manual
This and other special bar lines may be inserted manually at any
-point. When they coincide with the end of a measure they replace the
-simple bar line which would have been inserted there automatically.
-When they do not coincide with the end of a measure the specified bar
-line is inserted at that point in the printed output. Such insertions
-do not affect the calculation and placement of subsequent automatic
-bar lines.
-
-Two types of simple bar lines and five types of double bar lines are available
-for manual insertion:
+point. When they coincide with the end of a measure they replace
+the simple bar line which would have been inserted there
+automatically. When they do not coincide with the end of a measure
+the specified bar line is inserted at that point in the printed
+output.
+
+Note that manual bar lines are purely visual. They do not affect
+any of the properties that a normal bar line would affect, such as
+measure numbers, accidentals, line breaks, etc. They do not affect
+the calculation and placement of subsequent automatic bar lines.
+When a manual bar line is placed where a normal bar line already
+exists, the effects of the original bar line are not altered.
+
+Two types of simple bar lines and five types of double bar lines are
+available for manual insertion:
@lilypond[quote,relative=1,verbatim]
f1 \bar "|"
-f \bar "."
-g \bar "||"
-a \bar ".|"
-b \bar ".|."
-c \bar "|.|"
-d \bar "|."
-e
+f1 \bar "."
+g1 \bar "||"
+a1 \bar ".|"
+b1 \bar ".|."
+c1 \bar "|.|"
+d1 \bar "|."
+e1
@end lilypond
@noindent
@lilypond[quote,relative=1,verbatim]
f1 \bar ":"
-g \bar "dashed"
-a
+g1 \bar "dashed"
+a1
@end lilypond
@noindent
@lilypond[quote,relative=1,verbatim]
f1 \bar "|:"
-g \bar ":|:"
-a \bar ":|.|:"
-b \bar ":|.:"
-c \bar ":|"
-d
+g1 \bar ":|:"
+a1 \bar ":|.|:"
+b1 \bar ":|.:"
+c1 \bar ":|"
+d1
@end lilypond
Additionally, a bar line can be printed as a simple tick:
@lilypond[quote,relative=1,verbatim]
f1 \bar "'"
@end lilypond
-However, as such ticks are typically used in Gregorian chant, it is preferable
-to use @code{\divisioMinima} there instead, described in the section
-@ref{Divisiones} in Gregorian chant.
+However, as such ticks are typically used in Gregorian chant, it is
+preferable to use @code{\divisioMinima} there instead, described in
+the section @ref{Divisiones} in Gregorian chant.
@cindex repeats
the next line.
@lilypond[quote,relative=2,verbatim]
-c c c c
+c4 c c c
\bar "||:"
-c c c c \break
+c4 c c c \break
\bar "||:"
-c c c c
+c4 c c c
@end lilypond
In scores with many staves, a @code{\bar} command in one staff is
connected between different staves of a @code{StaffGroup},
@code{PianoStaff}, or @code{GrandStaff}.
-@lilypond[quote,fragment,verbatim]
+@lilypond[quote,relative=1,verbatim]
<<
\new StaffGroup <<
\new Staff {
- e'4 d'
+ e4 d
\bar "||"
- f' e'
+ f4 e
}
\new Staff { \clef bass c4 g e g }
>>
The command @code{\bar }@var{bartype} is a shortcut for
@code{\set Timing.whichBar = }@var{bartype}. A bar line is
-created whenever the @code{whichBar} property is
-set.
+created whenever the @code{whichBar} property is set.
The default bar type used for automatically inserted bar lines is
@code{"|"}. This may be changed at any time
Snippets:
@rlsr{Rhythms}.
-Internals Reference: @rinternals{BarLine} (created at
-@rinternals{Staff} level), @rinternals{SpanBar} (across
-staves), @rinternals{Timing_translator} (for Timing
-properties).
+Internals Reference:
+@rinternals{BarLine} (created at @code{Staff} level),
+@rinternals{SpanBar} (across staves),
+@rinternals{Timing_translator} (for Timing properties).
@node Bar numbers
@code{currentBarNumber} property, which is normally updated
automatically for every measure. It may also be set manually:
-@lilypond[verbatim,quote,fragment,relative=1]
+@lilypond[verbatim,quote,relative=1]
c1 c c c
\break
\set Score.currentBarNumber = #50
Snippets:
@rlsr{Rhythms}.
-Internals Reference: @rinternals{BarNumber}.
+Internals Reference:
+@rinternals{BarNumber},
+@rinternals{Bar_number_engraver}.
@cindex bar number collision
@rinternals{StaffGroup} and @rinternals{BarNumber} for more.
-
@node Bar and bar number checks
@unnumberedsubsubsec Bar and bar number checks
\time 3/4 c2 e4 | g2 |
@end example
-Bar checks can also be used in lyrics, for example
+Bar checks can also be used in lyrics:
@example
\lyricmode @{
Installed Files:
@file{scm/@/translation@/-functions@/.scm} contains
-the definition of @code{format-mark-numbers} and
+the definitions of @code{format-mark-numbers} and
@code{format-mark-letters}. They can be used as inspiration for
other formatting functions.
Snippets:
@rlsr{Rhythms}.
-Internals Reference: @rinternals{RehearsalMark}.
+Internals Reference:
+@rinternals{MarkEvent},
+@rinternals{Mark_engraver},
+@rinternals{RehearsalMark}.
@node Special rhythmic concerns
notes for every eighth grace note
@lilypond[quote,relative=2,verbatim]
-<< \new Staff { e2 \grace { c16[ d e f] } e2 }
- \new Staff { c2 \grace { g8[ b] } c2 } >>
+<<
+ \new Staff { e2 \grace { c16[ d e f] } e2 }
+ \new Staff { c2 \grace { g8[ b] } c2 }
+>>
@end lilypond
@cindex grace notes, following
@lilypond[quote,verbatim,relative=2]
\new Voice {
- << { d1^\trill_( }
- { s2 s4. \grace { c16[ d] } } >>
+ <<
+ { d1^\trill_( }
+ { s2 s4. \grace { c16[ d] } }
+ >>
c1)
}
@end lilypond
typesetting settings, for example, to produce smaller type, and
set directions. Hence, when introducing layout tweaks to
override the special settings, they should be placed inside
-the grace expression. The overrides should also be reverted
-inside the grace expression. Here, the grace note's default stem
+the grace expression. The overrides should also be reverted
+inside the grace expression. Here, the grace note's default stem
direction is overridden and then reverted.
@lilypond[quote,verbatim,relative=2]
@rglos{acciaccatura},
@rglos{appoggiatura}.
-Installed Files: @file{ly/@/grace@/-init@/.ly}.
+Installed Files:
+@file{ly/@/grace@/-init@/.ly}.
-Snippets: @rlsr{Rhythms}.
+Snippets:
+@rlsr{Rhythms}.
-Internals Reference: @rinternals{GraceMusic}.
+Internals Reference:
+@rinternals{GraceMusic},
+@rinternals{Grace_beam_engraver},
+@rinternals{Grace_engraver},
+@rinternals{Grace_spacing_engraver}.
@knownissues
@seealso
-This manual: @ref{Bar numbers}, @ref{Unmetered music}
+Notation Reference:
+@ref{Bar numbers},
+@ref{Unmetered music}.
Snippets:
@rlsr{Rhythms}.
-Internals Reference: @rinternals{Timing_translator},
-@rinternals{Score}
+Internals Reference:
+@rinternals{Timing_translator},
+@rinternals{Score}.