Guide, node Updating translation committishes..
@end ignore
-@c \version "2.15.39"
+@c \version "2.17.6"
@node Rhythms
@section Rhythms
collide with other objects in a staff.
@lilypond[verbatim,quote,ragged-right,relative=2]
-\override Tie #'layer = #-2
-\override Staff.TimeSignature #'layer = #-1
-\override Staff.KeySignature #'layer = #-1
-\override Staff.TimeSignature #'whiteout = ##t
-\override Staff.KeySignature #'whiteout = ##t
+\override Tie.layer = #-2
+\override Staff.TimeSignature.layer = #-1
+\override Staff.KeySignature.layer = #-1
+\override Staff.TimeSignature.whiteout = ##t
+\override Staff.KeySignature.whiteout = ##t
b2 b~
\time 3/4
\key a \major
\new Staff {
% These two lines are just to prettify this example
\time 16/1
- \override Staff.TimeSignature #'stencil = ##f
+ \override Staff.TimeSignature.stencil = ##f
% Print a maxima rest, equal to four breves
r\maxima
% Print a longa rest, equal to two breves
@lilypond[quote,verbatim,relative=2]
% This fails, as the wrong object name is specified
-\override TextScript #'padding = #5
+\override TextScript.padding = #5
R1^"wrong"
% This is the correct object name to be specified
-\override MultiMeasureRestText #'padding = #5
+\override MultiMeasureRestText.padding = #5
R1^"right"
@end lilypond
@funindex \overrideTimeSignatureSettings
In addition to setting the printed time signature, the @code{\time}
-command also sets time-signature-based default values for the properties
-@code{baseMoment}, @code{beatStructure}, and @code{beamExceptions}. The
-predefined default values for these properties can be found in
-@file{scm/time-signature-settings.scm}. The existing default values can
-be changed, or new default values can be added:
+command also sets the values of the time-signature-based properties
+@code{baseMoment}, @code{beatStructure}, and @code{beamExceptions}.
+The predefined default values for these properties can be found in
+@file{scm/time-signature-settings.scm}.
+
+The default value of @code{beatStructure} can be overridden in the
+@code{\time} command itself by supplying it as the optional first
+argument:
+
+@lilypond[quote,verbatim]
+\score {
+ \new Staff {
+ \relative c' {
+ \time #'(2 2 3) 7/8
+ \repeat unfold 7 { c8 } |
+ \time #'(3 2 2) 7/8
+ \repeat unfold 7 { c8 } |
+ }
+ }
+}
+@end lilypond
+
+Alternatively, the default values of all these time-signature-based
+variables, including @code{baseMoment} and @code{beamExceptions},
+can be set together. The values can be set independently for several
+different time signatures. The new values take effect when a
+subsequent @code{\time} command with the same value of the time
+signature is executed:
@lilypond[quote,verbatim]
\score {
@item
@code{@var{timeSignatureFraction}}, a fraction describing the
-time signature.
+time signature to which these values apply.
@item
@code{@var{baseMomentFraction}}, a fraction containing the numerator
}
@end lilypond
+A further method of changing these time-signature-related variables,
+which avoids reprinting the time signature at the time of the change,
+is shown in @ref{Setting automatic beam behavior}.
+
@predefined
@code{\numericTimeSignature},
@code{\defaultTimeSignature}.
Notation Reference:
@ref{Mensural time signatures},
+@ref{Setting automatic beam behavior},
@ref{Time administration}.
+Installed Files:
+@file{scm/time-signature-settings.scm}.
+
Snippets:
@rlsr{Rhythms}.
@lilypond[verbatim,relative=2,quote]
% Show all bar numbers
-\override Score.BarNumber #'break-visibility = #all-visible
+\override Score.BarNumber.break-visibility = #all-visible
c4 d e d
\cadenzaOn
c4 c d8[ d d] f4 g4.
Polymetric notation is supported explicitly or by manually modifying the
visible time signature symbol and/or scaling note durations.
-@subsubheading Different time signatures with equal-length measures
+@subsubsubheading Different time signatures with equal-length measures
Set a common time signature for each staff, and set the
@code{timeSignatureFraction} to the desired fraction. Then use the
>>
@end lilypond
-@subsubheading Different time signatures with unequal-length measures
+@subsubsubheading 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
@cindex compound time signatures
@cindex time signature, compound
-@subsubheading Compound time signatures
+@subsubsubheading Compound time signatures
These are created using the @code{\compoundMeter} function. The syntax
for this is:
}
}
\new Voice \with {
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
} \relative c'' {
\improvisationOn
c4 c8 c c4 c8 c
When automatic beaming is enabled, the placement of automatic beams
is determined by three context properties:
@code{baseMoment}, @code{beatStructure}, and @code{beamExceptions}.
+The default values of these variables may be overridden as described
+below, or alternatively the default values themselves may be changed
+as explained in @ref{Time signature}.
+
If a @code{beamExceptions} rule is defined for the time signature in
force, that rule is used to determine the beam placement. If no
@code{beamExceptions} rule is defined for the time signature in force,
@end example
-@subsubheading @i{Beaming based on @code{baseMoment} and @code{beatStructure}}
+@subsubsubheading Beaming based on @code{baseMoment} and @code{beatStructure}
In most instances, automatic beams will end at the end of a beat.
The ending points for beats are determined by the context properties
the time signature. Any exceptions to this default can be found in
@file{scm/time-signature-settings.scm}.
-@subsubheading @i{Beaming based on @code{beamExceptions}}
+@subsubsubheading Beaming based on @code{beamExceptions}
Special autobeaming rules (other than ending a beam on a beat)
are defined in the @code{beamExceptions} property.
r4. a8 a a |
@end lilypond
-@subsubheading @i{How automatic beaming works}
+@subsubsubheading How automatic beaming works
When automatic beaming is enabled, the placement of automatic beams
is determined by the context properties
{beam-endings-in-score-context.ly}
@seealso
+Notation Reference:
+@ref{Time signature}.
+
Installed Files:
-@file{scm/beam-settings.scm}.
+@file{scm/time-signature-settings.scm}.
Snippets:
@rlsr{Rhythms}.
the last four 32nd notes are at a constant tempo.
@lilypond[relative=1,verbatim,quote]
-\override Beam #'grow-direction = #LEFT
+\override Beam.grow-direction = #LEFT
\featherDurations #(ly:make-moment 2 1)
{ c16[ c c c c c c c] }
-\override Beam #'grow-direction = #RIGHT
+\override Beam.grow-direction = #RIGHT
\featherDurations #(ly:make-moment 2 3)
{ c32[ d e f] }
% revert to non-feathered beams
-\override Beam #'grow-direction = #'()
+\override Beam.grow-direction = #'()
{ g32[ a b c] }
@end lilypond
f1 \bar "."
g1 \bar "||"
a1 \bar ".|"
-b1 \bar ".|."
+b1 \bar ".."
c1 \bar "|.|"
d1 \bar "|."
e1
together with dotted and dashed bar lines:
@lilypond[quote,relative=1,verbatim]
-f1 \bar ":"
-g1 \bar "dashed"
+f1 \bar ";"
+g1 \bar "!"
a1
@end lilypond
@noindent
-and five types of repeat bar line:
+and nine types of repeat bar lines:
@lilypond[quote,relative=1,verbatim]
-f1 \bar "|:"
-g1 \bar ":|:"
+f1 \bar ".|:"
+g1 \bar ":..:"
a1 \bar ":|.|:"
b1 \bar ":|.:"
-c1 \bar ":|"
-e1
+c1 \bar ":.|.:"
+d1 \bar "[|:"
+e1 \bar ":|][|:"
+f1 \bar ":|]"
+g1 \bar ":|."
+a1
@end lilypond
Additionally, a bar line can be printed as a simple tick:
preferable to use @code{\divisioMinima} there instead, described in
the section @ref{Divisiones} in Gregorian chant.
+Lilypond supports kievan notation and provides a special kievan
+bar line:
+@lilypond[quote,relative=1,verbatim]
+f1 \bar "k"
+@end lilypond
+Further details of this notation are explained in
+@ref{Typesetting Kievan square notation}.
+
@cindex segno
For in-line segno signs, there are three types of bar lines which
c4 c c c \break
\bar "S"
c4 c c c
-\bar "|S"
+\bar "S-|"
c4 c c c \break
-\bar "|S"
+\bar "S-|"
c4 c c c
-\bar "S|"
+\bar "S-S"
c4 c c c \break
-\bar "S|"
+\bar "S-S"
c1
@end lilypond
using the various repeat commands (see @ref{Repeats}), which
automatically print the appropriate bar lines.
-In addition, you can specify @code{"||:"}, which is equivalent to
-@code{"|:"} except at line breaks, where it gives a double bar
+In addition, you can specify @code{".|:-||"}, which is equivalent to
+@code{".|:"} except at line breaks, where it gives a double bar
line at the end of the line and a start repeat at the beginning of
the next line.
@lilypond[quote,relative=2,verbatim]
c4 c c c
-\bar "||:"
+\bar ".|:-||"
c4 c c c \break
-\bar "||:"
+\bar ".|:-||"
c4 c c c
@end lilypond
@lilypond[quote,relative=2,verbatim]
c4 c c c
-\bar ":|S"
+\bar ":|.S"
c4 c c c \break
-\bar ":|S"
+\bar ":|.S"
c4 c c c
-\bar ":|S."
+\bar ":|.S-S"
c4 c c c \break
-\bar ":|S."
+\bar ":|.S-S"
c4 c c c
-\bar "S|:"
+\bar "S.|:-S"
c4 c c c \break
-\bar "S|:"
+\bar "S.|:-S"
c4 c c c
-\bar ".S|:"
+\bar "S.|:"
c4 c c c \break
-\bar ".S|:"
+\bar "S.|:"
c4 c c c
-\bar ":|S|:"
+\bar ":|.S.|:"
c4 c c c \break
-\bar ":|S|:"
+\bar ":|.S.|:"
c4 c c c
-\bar ":|S.|:"
+\bar ":|.S.|:-S"
c4 c c c \break
-\bar ":|S.|:"
+\bar ":|.S.|:-S"
c1
@end lilypond
creates a segno bar, placed in cooperation
with the @code{\repeat volta} command.
+@funindex \defineBarLine
+@funindex defineBarLine
+@cindex bar lines, defining
+@cindex defining bar lines
+
+New bar line types can be defined with @code{\defineBarLine}:
+
+@example
+\defineBarLine @var{bartype} #'(@var{end} @var{begin} @var{span})
+@end example
+
+The @code{\defineBarline} variables can include the
+@q{empty} string @code{""}, which is equivalent to an invisible
+bar line being printed. Or they can be set to @code{#f} which
+prints no bar line at all.
+
+After the definiton, the new bar line can be used by
+@code{\bar} @var{bartype}.
+
+There are currently ten bar line elements available:
+
+@lilypond[quote,verbatim]
+\defineBarLine ":" #'("" ":" "")
+\defineBarLine "=" #'("=" "" "")
+\defineBarLine "[" #'("" "[" "")
+\defineBarLine "]" #'("]" "" "")
+
+\new Staff {
+ s1 \bar "|"
+ s1 \bar "."
+ s1 \bar "!"
+ s1 \bar ";"
+ s1 \bar ":"
+ s1 \bar "k"
+ s1 \bar "S"
+ s1 \bar "="
+ s1 \bar "["
+ s1 \bar "]"
+ s1 \bar ""
+}
+@end lilypond
+
+The @code{"="} bar line provides the double span bar line, used
+in combination with the segno sign. Do not use it as a standalone
+double thin bar line; here, @code{\bar} @var{"||"} is
+preferred.
+
+The @code{"-"} sign starts annotations to bar lines which
+are useful to distinguish those with identical appearance
+but different behavior at line breaks and/or different span bars.
+The part following the @code{"-"} sign is not used for building up
+the bar line.
+
+@lilypond[quote,relative=2,verbatim]
+\defineBarLine "||-dashedSpan" #'("||" "" "!!")
+
+\new StaffGroup <<
+ \new Staff {
+ c1 \bar "||"
+ c1 \bar "||-dashedSpan"
+ c1
+ }
+ \new Staff {
+ c1
+ c1
+ c1
+ }
+>>
+@end lilypond
+
+Furthermore, the space character @code{" "} serves as a placeholder
+for defining span bars correctly aligned to the main bar lines:
+
+@lilypond[quote,relative=2,verbatim]
+\defineBarLine ":|.-wrong" #'(":|." "" "|.")
+\defineBarLine ":|.-right" #'(":|." "" " |.")
+
+\new StaffGroup <<
+ \new Staff {
+ c1 \bar ":|.-wrong"
+ c1 \bar ":|.-right"
+ c1
+ }
+ \new Staff {
+ c1
+ c1
+ c1
+ }
+>>
+@end lilypond
+
+If additional elements are needed, LilyPond provides a simple
+way to define them. For more informations on modifying or adding
+bar lines, see file @file{scm/bar-line.scm}.
In scores with many staves, a @code{\bar} command in one staff is
automatically applied to all staves. The resulting bar lines are
@ref{Repeats},
@ref{Grouping staves}.
+Installed Files:
+@file{scm/bar-line.scm}.
+
Snippets:
@rlsr{Rhythms}.
example bar numbers are printed at all possible places:
@lilypond[verbatim,quote,relative=1]
-\override Score.BarNumber #'break-visibility = #'#(#t #t #t)
+\override Score.BarNumber.break-visibility = #'#(#t #t #t)
\set Score.currentBarNumber = #11
% Permit first bar number to be printed
\bar ""
@lilypond[quote,relative=2,verbatim]
<<
- \new Staff { e4 \bar "|:" \grace c16 d2. }
- \new Staff { c4 \bar "|:" d2. }
+ \new Staff { e4 \bar ".|:" \grace c16 d2. }
+ \new Staff { c4 \bar ".|:" d2. }
>>
@end lilypond
@lilypond[quote,relative=2,verbatim]
<<
- \new Staff { e4 \bar "|:" \grace c16 d2. }
- \new Staff { c4 \bar "|:" \grace s16 d2. }
+ \new Staff { e4 \bar ".|:" \grace c16 d2. }
+ \new Staff { c4 \bar ".|:" \grace s16 d2. }
>>
@end lilypond