X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fnotation%2Frepeats.itely;h=f3c4c5ac6c14d530bf6be0273c183be445388743;hb=9828eb47c05a7d6446726ef96647e342e7122dc4;hp=924843848e94331c234faf5fb4d1ce91bc95b32a;hpb=d7c0f4263534307616c82d9b2ce6fdef9472456f;p=lilypond.git diff --git a/Documentation/notation/repeats.itely b/Documentation/notation/repeats.itely index 924843848e..f3c4c5ac6c 100644 --- a/Documentation/notation/repeats.itely +++ b/Documentation/notation/repeats.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.12.0" +@c \version "2.17.11" @node Repeats @section Repeats @@ -29,7 +29,7 @@ notation for repeats with alternatives. @item unfold The repeated music is fully written out, as many times as -specified by @var{repeatcount}. This is useful when +specified by @code{@var{repeatcount}}. This is useful when entering repetitious music. @item percent @@ -52,7 +52,7 @@ This is used to write tremolo beams. This section discusses how to input long (usually multi-measure) repeats. The repeats can take two forms: repeats enclosed between -repeat signs; or written out repeats, used to input repetitious music. +repeat signs; or written-out repeats, used to input repetitious music. Repeat signs can also be controlled manually. @menu @@ -84,7 +84,7 @@ The syntax for a normal repeat is @end example @noindent -where @var{musicexpr} is a music expression. +where @code{@var{musicexpr}} is a music expression. A single repeat without an alternate ending: @@ -105,7 +105,7 @@ group of alternatives must be themselves, enclosed in a set of braces. @end example @noindent -where @var{musicexpr} is a music expression. +where @code{@var{musicexpr}} is a music expression. If there are more repeats than there are alternate endings, the earliest repeats are given the first alternative. @@ -113,21 +113,21 @@ repeats are given the first alternative. A single repeat with one alternate ending: @lilypond[verbatim,quote,relative=2] -\repeat volta 2 { c4 d e f } +\repeat volta 2 { c4 d e f | } \alternative { - { c2 e } - { f2 g } + { c2 e | } + { f2 g | } } c1 @end lilypond -A single repeat with more than one alternate ending: +Multiple repeats with one alternate ending: @lilypond[verbatim,quote,relative=2] -\repeat volta 4 { c4 d e f } +\repeat volta 4 { c4 d e f | } \alternative { - { c2 e } - { f2 g } + { c2 e | } + { f2 g | } } c1 @end lilypond @@ -135,15 +135,20 @@ c1 Multiple repeats with more than one alternate ending: @lilypond[verbatim,quote,relative=2] -\repeat volta 3 { c4 d e f } +\repeat volta 3 { c4 d e f | } \alternative { - { c2 e } - { f2 g } - { a2 g } + { c2 e | } + { f2 g | } + { a2 g | } } c1 @end lilypond +@warning{If there are two or more alternatives, nothing should appear +between the closing brace of one and the opening brace of the next +in an @code{@bs{}alternative} block, otherwise you will not get the +expected number of endings.} + @warning{If you include @code{@bs{}relative} inside a @code{@bs{}repeat} without explicitly instantiating the @code{Voice} context, extra (unwanted) staves will appear. See @@ -151,13 +156,12 @@ c1 @cindex repeat with upbeat @cindex upbeat in a repeat -@cindex anacrucis in a repeat -@cindex repeat with anacrucis +@cindex anacrusis in a repeat +@cindex repeat with anacrusis @cindex repeat with pickup @cindex pickup in a repeat @funindex \partial - If a repeat starts in the middle of a measure and has no alternate endings, normally the end of the repeat will also fall in the middle of a measure, so that the two ends add up to one complete @@ -221,11 +225,11 @@ at the start of each alternative, except the first. \alternative { { f2 d | - \set Timing.measureLength = #(ly:make-moment 3 4) + \set Timing.measureLength = #(ly:make-moment 3/4) g4 g g % optional bar check is allowed here } { - \set Timing.measureLength = #(ly:make-moment 4 4) + \set Timing.measureLength = #(ly:make-moment 4/4) a2 a | } } @@ -235,10 +239,10 @@ g1 | The @code{measureLength} property is described in @ref{Time administration}. -@cindex repeats with ties -@cindex alternative endings with ties -@cindex ties in repeats -@cindex ties in alternative endings +@cindex repeats, with ties +@cindex alternative endings, with ties +@cindex ties, in repeats +@cindex ties, alternative endings @funindex \repeatTie Ties may be added to a second ending: @@ -252,17 +256,99 @@ c1 } @end lilypond -@snippets +@funindex \inStaffSegno +@cindex repeats, with segno +@cindex segno, with repeats + +The @code{\inStaffSegno} command can be used to generate a composite +bar line incorporating the segno symbol with the appropriate repeat +bar line when used with the @code{\repeat volta} command. The +correct type of repeat bar line, viz. start repeat, end repeat or +double repeat, is selected automatically. Note that the +corresponding @qq{D.S.} mark must be added manually. + +Away from a repeat: + +@lilypond[verbatim,quote,relative=1] +e1 +\inStaffSegno +f2 g a b +c1_"D.S." \bar "|." +@end lilypond -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +At the start of a repeat: + +@lilypond[verbatim,quote,relative=1] +e1 +\repeat volta 2 { + \inStaffSegno % start repeat + f2 g a b +} +c1_"D.S." \bar "|." +@end lilypond + +At the end of a repeat: + +@lilypond[verbatim,quote,relative=1] +e1 +\repeat volta 2 { + f2 g a b + \inStaffSegno % end repeat +} +f2 g a b +c1_"D.S." \bar "|." +@end lilypond + +Between two repeats: + +@lilypond[verbatim,quote,relative=1] +e1 +\repeat volta 2 { + f2 g a b +} +\inStaffSegno % double repeat +\repeat volta 2 { + f2 g a b +} +c1_"D.S." \bar "|." +@end lilypond + +Alternative bar line symbols can be obtained by setting (in the Score +context) the properties @code{segnoType}, @code{startRepeatSegnoType}, +@code{endRepeatSegnoType} or @code{doubleRepeatSegnoType} to the +required bar line type. The alternative bar line types must be +selected from the pre-defined types or types previously defined +with the @code{\defineBarLine} command (see @ref{Bar lines}). + +@lilypond[verbatim,quote,relative=1] +\defineBarLine ":|.S[" #'(":|." "S[" "") +\defineBarLine "]" #'("]" "" "") +e1 +\repeat volta 2 { + f2 g a b + \once \set Score.endRepeatSegnoType = ":|.S[" + \inStaffSegno +} +f2 g \bar "]" a b +c1_"D.S." \bar "|." +@end lilypond + +@snippets +@lilypondfile[verbatim,quote,texidoc,doctitle] {shortening-volta-brackets.ly} -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {adding-volta-brackets-to-additional-staves.ly} -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {setting-the-double-repeat-default-for-volte.ly} +@cindex repeats, bar numbers letters +@cindex repeats, alternative bar numbers + +@lilypondfile[verbatim,quote,texidoc,doctitle] +{alternative-bar-numbering.ly} + @seealso Music Glossary: @rglos{repeat}, @@ -271,6 +357,7 @@ Music Glossary: Notation Reference: @ref{Bar lines}, @ref{Modifying context plug-ins}, +@ref{Modifying ties and slurs}, @ref{Time administration}. Snippets: @@ -282,9 +369,7 @@ Internals Reference: @rinternals{VoltaRepeatedMusic}, @rinternals{UnfoldedRepeatedMusic}. - @knownissues - @cindex repeat, ambiguous @cindex nested repeat @cindex repeat, nested @@ -292,14 +377,32 @@ Internals Reference: @cindex repeat and measure number @cindex timing information and repeats @cindex measure number and repeats -@cindex repeat and slur -@cindex slur and repeat +@cindex repeats and slur +@cindex slur and repeats +@cindex glissandi and repeats +@cindex repeats and glissandi Slurs that span from a @code{\repeat} block into an -@code{\alternative} block will only work for the first alternate -ending. Also, slurs cannot wrap around from the end of one +@code{\alternative} block will only work for the first alternative +ending. The visual appearance of a continuing slur in other +alternative blocks may be simulated with @code{\repeatTie} if the +slur extends into only one note in the alternative block, although +this method does not work in @code{TabStaff}. Other methods which +may be tailored to indicate continuing slurs over several notes in +alternative blocks, and which also work in @code{TabStaff} contexts, +are shown in @ref{Modifying ties and slurs}. + +Also, slurs cannot wrap around from the end of one alternative back to the beginning of the repeat. +Glissandi that span from a @code{\repeat} block into an +@code{\alternative} block will only work for the first alternative +ending. The visual appearance of a continuing glissando in other +alternative blocks may be indicated by coding a glissando starting +on a hidden grace note. For an example, see +@qq{Extending glissandi across repeats} under Selected Snippets +in @ref{Glissando}. + If a repeat that begins with an incomplete measure has an @code{\alternative} block that contains modifications to the @code{measureLength} property, using @code{\unfoldRepeats} will @@ -347,7 +450,7 @@ layout of repeats. Its value is a Scheme list of repeat commands. @table @code @item start-repeat -Print a @code{|:} bar line. +Print a @code{.|:} bar line. @lilypond[verbatim,quote,relative=2] c1 @@ -360,7 +463,7 @@ As per standard engraving practice, repeat signs are not printed at the beginning of a piece. @item end-repeat -Print a @code{:|} bar line: +Print a @code{:|.} bar line: @lilypond[verbatim,quote,relative=2] c1 @@ -369,7 +472,7 @@ d4 e f g c1 @end lilypond -@item (volta @var{number}) ... (volta #f) +@item (volta @var{number}) @dots{} (volta #f) Create a new volta with the specified number. The volta bracket must be explicitly terminated, or it will not be printed. @@ -407,7 +510,8 @@ then include the markup in a Scheme list. voltaAdLib = \markup { 1. 2. 3... \text \italic { ad lib. } } \relative c'' { c1 - \set Score.repeatCommands = #(list(list 'volta voltaAdLib) 'start-repeat) + \set Score.repeatCommands = + #(list(list 'volta voltaAdLib) 'start-repeat) c4 b d e \set Score.repeatCommands = #'((volta #f) (volta "4.") end-repeat) f1 @@ -418,10 +522,9 @@ voltaAdLib = \markup { 1. 2. 3... \text \italic { ad lib. } } @snippets -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {printing-a-repeat-sign-at-the-beginning-of-a-piece.ly} - @seealso Notation Reference: @ref{Bar lines}, @@ -440,32 +543,46 @@ Internals Reference: @unnumberedsubsubsec Written-out repeats @cindex written-out repeats -@cindex repetitious music @cindex repeats, written-out -@cindex repeat, unfold -@cindex unfold music +@cindex repeats, unfold +@cindex repeats, alternative @cindex unfold repeat -@cindex unfold repeat with alternate endings -@cindex unfold music with alternate endings -@cindex alternate ending in written-out repeats +@cindex unfold repeat, alternate endings +@cindex alternate repeats +@cindex alternate endings, repeats @funindex unfold -By using the @code{unfold} command, repeats can be used to simplify -the writing out of repetitious music. The syntax is +By using the @code{unfold} command, repeats can be used to simplify the +writing out of repetitious music. The syntax is @example \repeat unfold @var{repeatcount} @var{musicexpr} @end example @noindent -where @var{musicexpr} is a music expression and @var{repeatcount} is -the number of times @var{musicexpr} is repeated. +where @code{@var{musicexpr}} is a music expression and +@code{@var{repeatcount}} is the number of times +@code{@var{musicexpr}} is repeated. @lilypond[verbatim,quote,relative=2] \repeat unfold 2 { c4 d e f } c1 @end lilypond +In some cases, especially in a @code{\relative} context, the +@code{\repeat unfold} function is not the same as writing out the +music expression multiple times. E.g, + +@example +\repeat unfold 2 @{ a'4 b c @} +@end example + +is not equivalent to + +@example +a'4 b c | a'4 b c +@end example + Unfold repeats can be made with alternate endings. @lilypond[verbatim,quote,relative=2] @@ -491,9 +608,9 @@ make up the total number of repeats. c1 @end lilypond -If there are more alternate endings than repeats then the first -alternatives are applied, LilyPond will ignore the remaining -alternatives which will not be printed. +If there are more alternate endings than repeats then only the first +alternatives are applied. The remaining alternatives will be ignored +and not printed. @lilypond[verbatim,quote,relative=2] \repeat unfold 2 { c4 d e f } @@ -519,14 +636,17 @@ without alternate endings). c1 @end lilypond +Chord constructs can be repeated by the chord repetition symbol +@code{q}. See @ref{Chord repetition}. -@warning{If you include @code{@bs{}relative} inside a -@code{@bs{}repeat} without explicitly instantiating the -@code{Voice} context, extra (unwanted) staves will appear. See -@rprogram{An extra staff appears}.} - +@warning{If you include @code{@bs{}relative} inside a @code{@bs{}repeat} +without explicitly instantiating the @code{Voice} context, extra +(unwanted) staves will appear. See @rprogram{An extra staff appears}.} @seealso +Notation Reference: +@ref{Chord repetition}. + Snippets: @rlsr{Repeats}. @@ -540,7 +660,7 @@ Internals Reference: This section discusses how to input short repeats. Short repeats can take two forms: slashes or percent signs to represent repeats of a -single note, a single measure or two measures, and tremelos otherwise. +single note, a single measure or two measures, and tremolos otherwise. @menu * Percent repeats:: @@ -564,43 +684,55 @@ is replaced with a special sign. The syntax is @example -@code{\repeat percent @var{number} @var{musicexpr}} +\repeat percent @var{number} @var{musicexpr} @end example @noindent -where @var{musicexpr} is a music expression. +where @code{@var{musicexpr}} is a music expression. Patterns that are shorter than one measure are replaced by slashes. @lilypond[verbatim,quote,relative=2] +\repeat percent 4 { c128 d e f } +\repeat percent 4 { c64 d e f } +\repeat percent 5 { c32 d e f } +\repeat percent 4 { c16 d e f } \repeat percent 4 { c8 d } \repeat percent 4 { c4 } \repeat percent 2 { c2 } @end lilypond -Patterns of one or two measures are replaced by percent-like signs. +Patterns of one or two measures are replaced by percent-like symbols. @lilypond[verbatim,quote,relative=2] -\repeat percent 3 { c4 d e f } -\repeat percent 4 { c2 d } +\repeat percent 2 { c4 d e f } +\repeat percent 2 { c2 d } +\repeat percent 2 { c1 } @end lilypond @lilypond[verbatim,quote,relative=2] \repeat percent 3 { c4 d e f | c2 g' } @end lilypond +Patterns that are shorter than one measure but contain mixed durations +use a double-percent symbol. + +@lilypond[verbatim,quote,relative=2] +\repeat percent 4 { c8. 16 } +\repeat percent 2 { \tuplet 3/2 { r8 c d } e4 } +@end lilypond + @snippets -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {percent-repeat-counter.ly} -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {percent-repeat-count-visibility.ly} -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {isolated-percent-repeats.ly} - @seealso Music Glossary: @rglos{percent repeat}, @@ -611,23 +743,17 @@ Snippets: Internals Reference: @rinternals{RepeatSlash}, +@rinternals{RepeatSlashEvent}, +@rinternals{DoubleRepeatSlash}, @rinternals{PercentRepeat}, +@rinternals{PercentRepeatCounter}, +@rinternals{PercentRepeatedMusic}, +@rinternals{Percent_repeat_engraver}, +@rinternals{DoublePercentEvent}, @rinternals{DoublePercentRepeat}, @rinternals{DoublePercentRepeatCounter}, -@rinternals{PercentRepeatCounter}, -@rinternals{PercentRepeatedMusic}. - - -@knownissues - -Only three kinds of percent repeats are supported: a single slash -representing a single beat (regardless of the duration of the repeated -notes); a single slash with dots representing one full measure; and -two slashes with dots crossing a bar line representing two full -measures. Neither multiple slashes representing single beat repeats -consisting of sixteenth or shorter notes, nor two slashes with dots -representing single beat repeats consisting of notes of varying -durations, are supported. +@rinternals{Double_percent_repeat_engraver}, +@rinternals{Slash_repeat_engraver}. @node Tremolo repeats @@ -640,7 +766,7 @@ durations, are supported. @funindex tremolo Tremolos can take two forms: alternation between two chords or two -notes, and rapid repetition of a single note or chord. Tremolos +notes, and rapid repetition of a single note or chord. Tremolos consisting of an alternation are indicated by adding beams between the notes or chords being alternated, while tremolos consisting of the rapid repetition of a single note are indicated by adding beams or @@ -678,12 +804,11 @@ the note should not be surrounded by braces: @funindex tremoloFlags @funindex : -The same output can be obtained by adding -@q{@code{:}[@var{number}]} after the note. The number indicates -the duration of the subdivision, and it must be at least 8. A -@var{number} value of 8 gives one line across the note stem. If -the length is omitted, the last value (stored in -@code{tremoloFlags}) is used: +The same output can be obtained by adding @code{:@var{N}} after +the note, where @code{@var{N}} indicates the duration of the +subdivision (it must be at least 8). If @code{@var{N}} is 8, one +beam is added to the note's stem. If @code{@var{N}} is omitted, +the last value (stored in @code{tremoloFlags}) is used: @lilypond[quote,verbatim,relative=2] c2:8 c:32 @@ -692,14 +817,12 @@ c: c: @snippets -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {cross-staff-tremolos.ly} - @seealso Snippets: @rlsr{Repeats}. @cindex tremolo, cross-staff @cindex cross-staff tremolo -