[ << Musical notation ] | [Top][Contents][Index] | [ Specialist notation >> ] |
[ < Segno repeat structure ] | [ Up : Long repeats ] | [ Manual repeat marks > ] |
Segno repeat appearance
The marks and return instructions that \repeat segno
creates are adjustable in some respects.
Return instructions are formatted with the Scheme procedure specified in
the dalSegnoTextFormatter
property. There is a predefined
alternative formatter that creates shorter instructions.
\fixed c' { \set Score.dalSegnoTextFormatter = #format-dal-segno-text-brief f1 \repeat segno 2 { g1 \alternative { \volta 1 { a1 } \volta 2 \volta #'() { \section \sectionLabel "Coda" } } } b1 \fine }
The sequence numbers of the marks at the beginning of the repeated section and the beginning of the first alternative may be set explicitly without interfering with automatic return instructions (see Manual repeat marks).
\fixed c' { \repeat segno 2 { \volta #'() { \segnoMark 2 } g1 \alternative { \volta 1 { \volta #'() { \codaMark 2 } \repeat unfold 8 { a4 } } \volta 2 \volta #'() { \section \sectionLabel "Coda" } } } b1 \fine }
Without the explicit \segnoMark 2
, the above would have
been rendered as a da-capo repeat.
As an alternative to printing a segno as a mark above the staff,
it is possible to print it as a bar line by setting the
segnoStyle
property to bar-line
. To avoid
ambiguity, only the first segno bar remains unmarked.
\fixed c' { \set Score.segnoStyle = #'bar-line R1 \repeat unfold 3 { \repeat segno 2 { R1*2 } } \fine }
Where a segno bar coincides with other special bar lines, a combination bar line is chosen automatically from a predetermined set. For each supported combination, the bar line can be customized by setting a context property (see Automatic bar lines).
Segno and coda marks are formatted with procedures specified in
the segnoMarkFormatter
and codaMarkFormatter
properties. These are interchangeable with procedures used to
format rehearsal marks (see Rehearsal marks).
\fixed c' { \set Score.segnoMarkFormatter = #format-mark-numbers \set Score.segnoStyle = #'bar-line R1 \repeat unfold 3 { \repeat segno 2 { R1*2 } } \fine }
There is a predefined alternative segno formatter that prints a mark even over the first bar line:
\fixed c' { \set Score.segnoMarkFormatter = #format-segno-mark \set Score.segnoStyle = #'bar-line R1 \repeat unfold 3 { \segnoMark \default R1*2 } }
There is a predefined alternative coda mark formatter that uses
\varcoda
signs.
\fixed c' { \set Score.codaMarkFormatter = #format-varcoda-mark R1 \repeat unfold 3 { \codaMark \default R1*2 } }
Selected Snippets
Shortening volta brackets
By default, the volta brackets will be drawn over all of the
alternative music, but it is possible to shorten them by setting
voltaSpannerDuration
. In the next example, the bracket only
lasts one measure, which is a duration of 3/4.
\relative c'' { \time 3/4 c4 c c \set Score.voltaSpannerDuration = \musicLength 2. \repeat volta 5 { d4 d d \alternative { \volta 1,2,3,4 { e4 e e f4 f f } \volta 5 { g4 g g } } } }
Adding volta brackets to additional staves
The Volta_engraver
by default resides in the Score
context, and brackets for the repeat are thus normally only printed
over the topmost staff. This can be adjusted by adding the
Volta_engraver
to the Staff
context where the brackets
should appear; see also the “Volta multi staff” snippet.
<< \new Staff { \repeat volta 2 { c'1 } \alternative { c' } } \new Staff { \repeat volta 2 { c'1 } \alternative { c' } } \new Staff \with { \consists "Volta_engraver" } { c'2 g' e' a' } \new Staff { \repeat volta 2 { c'1 } \alternative { c' } } >>
Alternative bar numbering
Two alternative methods for bar numbering can be set, especially for when using repeated music.
music = \relative c' { \repeat volta 3 { c4 d e f | \alternative { \volta 1 { c4 d e f | c2 d \break } \volta 2 { f4 g a b | f4 g a b | f2 a | \break } \volta 3 { c4 d e f | c2 d } } } c1 \bar "|." } \markup "default" { \music } \markup \typewriter "'numbers" { \set Score.alternativeNumberingStyle = #'numbers \music } \markup \typewriter "'numbers-with-letters" { \set Score.alternativeNumberingStyle = #'numbers-with-letters \music } \paper { tagline = ##f }
See also
Music Glossary: repeat, volta.
Notation Reference: Automatic bar lines, Bar lines, Modifying context plug-ins, Modifying ties and slurs, Time administration.
Installed Files: ly/engraver-init.ly.
Snippets: Repeats.
Internals Reference: VoltaBracket, VoltaRepeatedMusic, UnfoldedRepeatedMusic.
Known issues and warnings
For repeats in volta
form, spanners (slurs, etc.) that
cross into alternatives work for the first alternative only. They
likewise cannot wrap around from the end of an alternative back to
the beginning of the repeated section.
The visual appearance of a continuing slur or tie in subsequent
alternatives can be achieved with \repeatTie
if the slur
extends into only one note in the alternative block, although this
method does not work in TabStaff
; see Repeat tie.
Other methods which may be tailored to indicate continuing slurs
over several notes in alternative blocks, and which also work in
TabStaff
contexts, are shown in Modifying ties and slurs.
The visual appearance of a continuing glissando in subsequent alternatives can be achieved by coding a glissando starting on a hidden grace note. See Extending glissandi across repeats.
If a repeat that begins with an incomplete measure has an
\alternative
block that contains modifications to the
measureLength
property, using \unfoldRepeats
will
result in wrongly-placed bar lines and bar check warnings.
A nested repeat like
\repeat … \repeat … \alternative
is ambiguous, since it is not clear to which \repeat
the
\alternative
belongs. This ambiguity is resolved by always
having the \alternative
belong to the inner \repeat
.
For clarity, it is advisable to use braces in such situations.
[ << Musical notation ] | [Top][Contents][Index] | [ Specialist notation >> ] |
[ < Segno repeat structure ] | [ Up : Long repeats ] | [ Manual repeat marks > ] |