X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fnotation%2Frhythms.itely;h=f53c42f8815c2e40bf07b63806e928d0ca17830a;hb=a46782b6db53f55c0ce494f5ca001e187b81e4e1;hp=27c84eae28d0e7675c5fe88e1e47ec83935d225d;hpb=229e78d781e24469d65e47244fb6eb161be84621;p=lilypond.git diff --git a/Documentation/notation/rhythms.itely b/Documentation/notation/rhythms.itely index 27c84eae28..f53c42f881 100644 --- a/Documentation/notation/rhythms.itely +++ b/Documentation/notation/rhythms.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.15.39" +@c \version "2.17.6" @node Rhythms @section Rhythms @@ -380,6 +380,15 @@ Notation Reference: Snippets: @rlsr{Rhythms}. +@knownissues +The calculation of the position within a measure must take into +account all the scaling factors applied to the notes within that +measure and any fractional carry-out from earlier measures. This +calculation is carried out using rational numbers. If an intermediate +numerator or denominator in that calculation exceeds 2^30 the +execution and typesetting will stop at that point without indicating +an error. + @node Ties @unnumberedsubsubsec Ties @@ -526,11 +535,11 @@ Override @var{whiteout} and @var{layer} layout properties for ties that 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 @@ -623,7 +632,7 @@ commands: \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 @@ -883,10 +892,10 @@ following example:} @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 @@ -1051,11 +1060,34 @@ Mensural time signatures are covered in @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 { @@ -1079,7 +1111,7 @@ be changed, or new default values can be added: @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 @@ -1194,6 +1226,10 @@ for different staves by moving the @code{Timing_translator} and the } @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}. @@ -1210,8 +1246,12 @@ Music Glossary: 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}. @@ -1445,7 +1485,7 @@ Bar numbering is resumed at the end of the cadenza. @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. @@ -1829,7 +1869,7 @@ be done with the @code{Pitch_squash_engraver} and } } \new Voice \with { - \consists Pitch_squash_engraver + \consists "Pitch_squash_engraver" } \relative c'' { \improvisationOn c4 c8 c c4 c8 c @@ -1987,6 +2027,10 @@ new beam starts. 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, @@ -2283,8 +2327,11 @@ The default beaming rules can be found in {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}. @@ -2486,14 +2533,14 @@ lengthening. The first four 32nd notes gradually speed up, while 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 @@ -2608,7 +2655,7 @@ f1 \bar "|" f1 \bar "." g1 \bar "||" a1 \bar ".|" -b1 \bar ".|." +b1 \bar ".." c1 \bar "|.|" d1 \bar "|." e1 @@ -2618,21 +2665,25 @@ 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: @@ -2643,6 +2694,14 @@ 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. +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 @@ -2654,13 +2713,13 @@ c4 c c c 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 @@ -2672,16 +2731,16 @@ a repeated section. Such repeated sections are better entered 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 @@ -2690,29 +2749,29 @@ variations: @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 @@ -2720,6 +2779,100 @@ Additionally there is an @code{\inStaffSegno} command which 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 @@ -2744,8 +2897,6 @@ connected between different staves of a @code{StaffGroup}, @cindex default bar lines, changing @cindex bar lines, default, changing -@snippets - @funindex whichBar @funindex defaultBarType @funindex \bar @@ -2766,6 +2917,9 @@ Notation Reference: @ref{Repeats}, @ref{Grouping staves}. +Installed Files: +@file{scm/bar-line.scm}. + Snippets: @rlsr{Rhythms}. @@ -2814,7 +2968,7 @@ line visible}, @code{beginning of line visible}. In the following 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 "" @@ -3303,8 +3457,8 @@ staves without, for example, @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 @@ -3314,8 +3468,8 @@ durations in the other staves. For the above example @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