X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fuser%2Frepeats.itely;h=d2d7c053e76486cc601b5ad9c839e06a0ad0dc98;hb=5c14a087ca6cbd665fd631452b7b1283ba0387c3;hp=250bd3792e1e86742e79b9fef233b26feea7a49a;hpb=37ca1f80bf5401accd17056938f4f7b2c147ddb2;p=lilypond.git diff --git a/Documentation/user/repeats.itely b/Documentation/user/repeats.itely index 250bd3792e..d2d7c053e7 100644 --- a/Documentation/user/repeats.itely +++ b/Documentation/user/repeats.itely @@ -6,25 +6,25 @@ version that you are working on. See TRANSLATION for details. @end ignore -@c \version "2.11.38" +@c \version "2.11.61" @node Repeats @section Repeats -@lilypondfile[ragged-right,line-width=16\cm,staffsize=16,quote] -{repeats-headword.ly} +@lilypondfile[quote]{repeats-headword.ly} Repetition is a central concept in music, and multiple notations -exist for repetitions. LilyPond supports the following kinds of repeats: +exist for repetitions. LilyPond supports the following kinds of +repeats: @table @code @item volta The repeated music is not written out but enclosed between repeat bar lines. If the repeat is at the beginning of a piece, a repeat bar -line is only printed at the end. Alternative endings (volte) are -printed left to right with brackets. This is the standard notation -for repeats with alternatives. +line is only printed at the end of the repeat. Alternative endings +(volte) are printed left to right with brackets. This is the standard +notation for repeats with alternatives. @item unfold The repeated music is fully written out, as many times as @@ -65,10 +65,16 @@ Repeat signs can also be controlled manually. @cindex seconda volta @cindex volta, prima @cindex volta, seconda +@cindex repeat, normal +@cindex normal repeat +@cindex repeat with alternate endings +@cindex alternate endings @funindex \repeat +@funindex \alternative +@funindex \partial @node Normal repeats -@subsubsection Normal repeats +@unnumberedsubsubsec Normal repeats The syntax for a normal repeat is @@ -77,13 +83,14 @@ The syntax for a normal repeat is @end example where @var{musicexpr} is a music expression. Alternate endings can be -produced using @code{\alternative}. If there are more repeats than -there are alternate endings, the earliest repeats are given the first -alternative. +produced using @code{\alternative}. In order to delimit the alternate +endings, the group of alternatives must be enclosed in a set of +braces. If there are more repeats than there are alternate endings, +the earliest repeats are given the first alternative. Normal repeats without alternate endings: -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +@lilypond[verbatim,quote,relative=2] \repeat volta 2 { c4 d e f } c2 d \repeat volta 2 { d4 e f g } @@ -91,60 +98,63 @@ c2 d Normal repeats with alternate endings: -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] -\repeat volta 2 { g4 f e d } - \alternative { - { cis2 g' } - { cis,2 b } - } -\repeat volta 3 { c4 d e f } - \alternative { - { d2 e } - { f2 g } - } +@lilypond[verbatim,quote,relative=2] +\repeat volta 4 { c4 d e f } +\alternative { + { d2 e } + { f2 g } +} c1 @end lilypond +@cindex repeat with upbeat +@cindex upbeat in a repeat +@cindex anacrucis in a repeat +@cindex repeat with anacrucis +@cindex repeat with pickup +@cindex pickup in a repeat +@funindex \partial + Repeats with upbeats can be entered in two ways: -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] -\new Staff { - \partial 4 - e | - \repeat volta 4 { c2 d | e2 f | } - \alternative { - { g4 g g e } - { a4 a a a | b2. } - } +@lilypond[verbatim,quote,relative=2] +\partial 4 +e | +\repeat volta 4 { c2 d | e2 f | } +\alternative { + { g4 g g e } + { a4 a a a | b2. } } @end lilypond @noindent or -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] -\new Staff { - \partial 4 - \repeat volta 4 { e4 | c2 d | e2 f | } - \alternative { - { \partial 4*3 g4 g g } - { a4 a a a | b2. } - } +@lilypond[verbatim,quote,relative=2] +\partial 4 +\repeat volta 4 { e4 | c2 d | e2 f | } +\alternative { + { \partial 4*3 g4 g g } + { a4 a a a | b2. } } @end lilypond +@cindex repeats with ties +@cindex alternative endings with ties +@cindex ties in repeats +@cindex ties in alternative endings @funindex \repeatTie Ties may be added to a second ending: -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +@lilypond[verbatim,quote,relative=2] c1 -\repeat volta 2 {c4 d e f ~ } +\repeat volta 2 { c4 d e f ~ } \alternative { - {f2 d} - {f2\repeatTie f,} + { f2 d } + { f2\repeatTie f, } } @end lilypond @@ -157,21 +167,6 @@ c1 {adding-volta-brackets-to-additional-staves.ly} -@c Is there a way to have a final bar ("|.") at the end of the -@c previous line? Doesn't seem to be. -@c It could be done by overriding -@c the BreakAlignment property. Want a separate example? -If you want to start a repeat at the beginning of a line and have a -double bar at the end of the previous line, use @code{\bar}. For more -information, see @ref{Bar lines}. - -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] -c4 c c c -\bar "||:" \break -\repeat volta 2 { c4 d e f } -@end lilypond - - @seealso Music Glossary: @rglos{repeat}, @rglos{volta}. @@ -187,6 +182,14 @@ Internals Reference: @rinternals{VoltaBracket}, @knownissues @cindex repeat, ambiguous +@cindex nested repeat +@cindex repeat, nested +@cindex repeat timing information +@cindex repeat and measure number +@cindex timing information and repeats +@cindex measure number and repeats +@cindex repeat and slur +@cindex slur and repeat A nested repeat like @@ -210,14 +213,26 @@ example, by setting @code{Score.measurePosition} or entering @node Manual repeat marks -@subsubsection Manual repeat marks - +@unnumberedsubsubsec Manual repeat marks + +@cindex manual repeat mark +@cindex repeat, manual +@cindex start repeat +@cindex repeat, start +@cindex end repeat +@cindex repeat, end +@cindex repeat number, changing +@cindex repeat volta, changing +@cindex volta bracket +@cindex bracket, volta @funindex repeatCommands +@funindex start-repeat @warning{These methods are only used for displaying unusual repeat -constructs. In most cases, repeats should be created using the -standard @code{\\repeat} command or by printing the relevant bar -lines. For more information, see @ref{Bar lines}.} +constructs, and may produce unexpected behavior. In most cases, +repeats should be created using the standard @code{\\repeat} command +or by printing the relevant bar lines. For more information, see +@ref{Bar lines}.} The property @code{repeatCommands} can be used to control the layout of repeats. Its value is a Scheme list of repeat commands. @@ -226,9 +241,9 @@ layout of repeats. Its value is a Scheme list of repeat commands. @item start-repeat Print a @code{|:} bar line. -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,relative=2] c1 -\set Score.repeatCommands = #'( start-repeat ) +\set Score.repeatCommands = #'(start-repeat) d4 e f g c1 @end lilypond @@ -239,32 +254,22 @@ at the beginning of a piece. @item end-repeat Print a @code{:|} bar line: -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,relative=2] c1 d4 e f g -\set Score.repeatCommands = #'( end-repeat ) +\set Score.repeatCommands = #'(end-repeat) c1 @end lilypond -@item (volta @var{number}) -Create a new volta with the specified number: +@item (volta @var{number}) ... (volta #f) +Create a new volta with the specified number. The volta bracket must +be explicitly terminated, or it will not be printed. @lilypond[verbatim,quote,relative=2] f4 g a b -\set Score.repeatCommands = #'( ( volta "2" ) ) +\set Score.repeatCommands = #'((volta "2")) g4 a g a -c1 -@end lilypond - -@item (volta #f) -Stops a running volta bracket: - -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] -c1 -\set Score.repeatCommands = #'( ( volta "2" ) ) -f4 g a b -\set Score.repeatCommands = #'( ( volta #f ) ) -a4 g f e +\set Score.repeatCommands = #'((volta #f)) c1 @end lilypond @@ -274,13 +279,16 @@ Multiple repeat commands may occur at the same point: @lilypond[verbatim,quote,relative=2] f4 g a b -\set Score.repeatCommands = #'( ( volta "2, 5" ) end-repeat ) +\set Score.repeatCommands = #'((volta "2, 5") end-repeat) g4 a g a c1 -\set Score.repeatCommands = #'( ( volta #f ) ( volta "95" ) end-repeat ) +\set Score.repeatCommands = #'((volta #f) (volta "95") end-repeat) b1 @end lilypond +@cindex volta bracket with text +@cindex text in volta bracket + Text can be included with the volta bracket. The text can be a number or numbers or markup text, see @ref{Formatting text}. The simplest way to use markup text is to define the markup first, @@ -290,7 +298,7 @@ then include the 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 @@ -301,52 +309,8 @@ voltaAdLib = \markup { 1. 2. 3... \text \italic { ad lib. } } @snippets -@c FIXME: send these to Neil or Valentin to be added as snippets, -@c delete them. -Manual control of the volte, including a @code{|:} bar line at the -beginning and explicit volta numbers: - -@c FIXME: I can't believe this is right. -@c TODO: I think it is. I plan -@c to delete this example, since it's -@c already been given at L238. rp -@lilypond[verbatim,quote,relative=2] -s1*1/10 -\set Score.repeatCommands = #'( start-repeat ) -c1*9/10 -d4 e f g -\set Score.repeatCommands = #'( ( volta "1, 2, 5" ) ) -f4 g a b -\set Score.repeatCommands = #'( ( volta #f ) ( volta "95" ) end-repeat ) -g4 a g a -\set Score.repeatCommands = #'( ( volta #f ) ) -c1 -@end lilypond - -In order to print a @code{|:} bar line at the beginning of a piece, -the @code{BreakAlignment} property must be overridden: - -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] -\once \override Score.BreakAlignment #'break-align-orders = -#(make-vector 3 '( -instrument-name -left-edge -ambitus -span-bar -breathing-sign -clef -key-signature -time-signature -staff-bar -custos -span-bar -)) -\bar "|:" -c1 -d1 -d4 e f g -@end lilypond - +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{printing-a-repeat-sign-at-the-beginning-of-a-piece.ly} @seealso @@ -364,11 +328,18 @@ Internals Reference: @node Written-out repeats -@subsubsection Written-out repeats +@unnumberedsubsubsec Written-out repeats @cindex written-out repeats @cindex repetitious music @cindex repeats, written-out +@cindex repeat, unfold +@cindex unfold music +@cindex unfold repeat +@cindex unfold repeat with alternate endings +@cindex unfold music with alternate endings +@cindex alternate ending in written-out repeats +@funindex unfold By using the @code{unfold} command, repeats can be used to simplify the writing out of repetitious music. The syntax is @@ -377,21 +348,20 @@ the writing out of repetitious music. The syntax is \repeat unfold @var{repeatcount} @var{musicexpr} @end example -where @var{musicexpr} is a music expression. Unfold repeats can be -made with or without alternate endings. If there are more repeats -than there are alternate endings, the first alternative ending is -applied to the earliest endings. Unfold repeats without alternate -endings: +where @var{musicexpr} is a music expression and @var{repeatcount} is +the number of times @var{musicexpr} is repeated. -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,relative=2] c1 \repeat unfold 2 { c4 d e f } c1 @end lilypond -Unfold repeats with alternate endings: +Unfold repeats can be made with alternate endings. If there are +more repeats than there are alternate endings, the first +alternative ending is applied to the earliest endings. -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,relative=2] c1 \repeat unfold 2 { g4 f e d } \alternative { @@ -399,12 +369,6 @@ c1 { cis,2 b } } c1 -\repeat unfold 3 { d4 c b2 } - \alternative { - { c4 d e f } - { d4 c b a } - } -c1 @end lilypond @seealso @@ -427,10 +391,15 @@ represented by slashes or percent signs; and tremolos. @end menu @node Percent repeats -@subsubsection Percent repeats +@unnumberedsubsubsec Percent repeats @cindex percent repeats @cindex measure repeats +@cindex repeat, percent +@cindex repeat, measure +@cindex repeat, short +@funindex \repeat percent +@funindex percent Repeated short patterns of notes are supported. The music is printed once, and the pattern is replaced with a special sign. Patterns that @@ -443,34 +412,30 @@ one or two measures are replaced by percent-like signs. The syntax is where @var{musicexpr} is a music expression. -@lilypond[quote,verbatim,ragged-right] -\relative c' { - \repeat percent 4 { c4 } - \repeat percent 2 { b'4 a g f } - \repeat percent 2 { c2 es | f4 fis g c | } -} +@lilypond[verbatim,quote,relative=2] +\repeat percent 4 { c4 } +\repeat percent 2 { b4 a g f } +\repeat percent 2 { c2 es | f4 fis g c | } @end lilypond -Measure repeats of more than two repeats get a counter if you switch -on the @code{countPercentRepeats} property: +@snippets -@lilypond[relative=2,fragment,quote,verbatim,ragged-right] -\relative c' { - \set countPercentRepeats = ##t - \repeat percent 4 { c1 } -} -@end lilypond +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{percent-repeat-counter.ly} +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{isolated-percent-repeats.ly} -Isolated percents can also be printed. This is done by entering a -multi-measure rest with a different print function: +@seealso -@lilypond[fragment,verbatim,quote] -\override MultiMeasureRest #'stencil - = #ly:multi-measure-rest::percent -R1 -@end lilypond +Music Glossary: @rglos{percent repeat}, @rglos{simile}. + +Snippets: @rlsr{Repeats}. +Internals Reference: @rinternals{RepeatSlash}, +@rinternals{PercentRepeat}, @rinternals{DoublePercentRepeat}, +@rinternals{DoublePercentRepeatCounter}, +@rinternals{PercentRepeatCounter}, @rinternals{PercentRepeatedMusic}. @knownissues @@ -484,38 +449,29 @@ representing single beat repeats consisting of notes of varying durations, are supported. -@seealso - -Music Glossary: @rglos{percent repeat}, @rglos{simile}. - -Snippets: @rlsr{Repeats}. - -Internals Reference: @rinternals{RepeatSlash}, -@rinternals{PercentRepeat}, @rinternals{DoublePercentRepeat}, -@rinternals{DoublePercentRepeatCounter}, -@rinternals{PercentRepeatCounter}, @rinternals{PercentRepeatedMusic}. - @node Tremolo repeats -@subsubsection Tremolo repeats - -Tremolos can take two forms: alternation between two chords or two -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 slashes to a single note. +@unnumberedsubsubsec Tremolo repeats @cindex tremolo beams +@cindex tremolo +@cindex repeat, tremolo +@funindex \repeat tremolo +@funindex tremolo + +Tremolos can take two forms: alternation between two chords or two +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 +slashes to a single note. To place tremolo marks between notes, use @code{\repeat} with tremolo style: -@lilypond[quote,verbatim,ragged-right] -\relative c' { - \repeat tremolo 8 { c16 d } - \repeat tremolo 4 { c16 d } - \repeat tremolo 2 { c16 d } -} +@lilypond[quote,verbatim,relative=2] +\repeat tremolo 8 { c16 d } +\repeat tremolo 6 { c16 d } +\repeat tremolo 2 { c16 d } @end lilypond The @code{\repeat tremolo} syntax expects exactly two notes within @@ -539,6 +495,7 @@ the note should not be surrounded by braces: @cindex tremolo marks @funindex tremoloFlags +@funindex : The same output can be obtained by adding @q{@code{:}[@var{number}]} after the note. The number indicates @@ -547,19 +504,19 @@ the duration of the subdivision, and it must be at least 8. A the length is omitted, the last value (stored in @code{tremoloFlags}) is used -@lilypond[quote,ragged-right,verbatim,fragment] -c'2:8 c':32 | c': c': | +@lilypond[quote,verbatim,relative=2] +c2:8 c:32 +c: c: @end lilypond +@seealso -@knownissues - - -Tremolos entered with @q{@code{:}[@var{number}]} do not carry over -into the MIDI output. +Snippets: @rlsr{Repeats}. +@cindex tremolo, cross-staff +@cindex cross-staff tremolo -@seealso +@knownissues -Snippets: @rlsr{Repeats}. +Cross-staff tremolos do not work well.