[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Repeat volta not at beginning of piece doesn't get initial repeat ba
From: |
Thomas Morley |
Subject: |
Re: Repeat volta not at beginning of piece doesn't get initial repeat bar line |
Date: |
Fri, 18 Jul 2014 11:26:38 +0200 |
2014-07-17 19:29 GMT+02:00 John McWilliam <address@hidden>:
> I am deeply grateful for sorting out these problems associated with the
> bagpipe tune format and in particular those associated with repeats. I have
> another irritating glitch in the same grain. A measure can have two
> alternative structures depending on whether it is played the first or second
> time. This is illustrated in the following snippet. My approach to this
> works, however, i get a warning: "already have a volta spanner, ending that
> one prematurely" and the second spanner remains open to the right. Any
> suggestions will be most welcome.
>
> \version "2.18.0"
>
> music = \relative c''' {
> \key c \major
> \time 2/4
> \bar ".|:"
Why not use \repeat volta 2 { ... } here?
> \set Score.repeatCommands = #'(start-repeat)
> \partial 8 g8
> a16. [g32 a16. f32] e8 [c32 a16.]
> a8 a'16. [e32 f16. e32] c32 a16.
> a'16. [g32 a16. e32] c32 [e16. a,16. e'32]
> c8 b b[ g']
> \break
>
> \set Score.measureLength = #(ly:make-moment 5 8)
> a16. g32 a16. f32 e8
> \set Score.repeatCommands = #'((volta "1.")) c32 [ a16.]
You can't accumulate different repeatCommands at the same point of
time, one will override the other.
Put the settings in one list as shown below.
Or use my setRepeatCommand-function from
http://lists.gnu.org/archive/html/lilypond-user/2014-07/msg00376.html
This custom function was developed for exactly this reason: to
accumulate repeatCommands.
Additionally, because we're mid-measure and no BarLine is present,
there will be no gap between the two VoltaBrackets.
I'd insert 'end-repeat (will print bar-line-type ":|.") and make this
BarLine (and the SpanBar) transparent.
See below.
> \set Score.repeatCommands = #'((volta #f))
> \set Score.repeatCommands = #'((volta "2.")) c32 [e16.]
> \set Score.repeatCommands = #'((volta #f))
The VoltaBracket will not be closed, because the volta-hook isn't
allowed for bar-type "|"
This can be changed, ofcourse.
You might be interested in this recent thread, too:
http://lilypond.1069038.n5.nabble.com/Adding-right-side-to-volta-bracket-spanner-td164571.html
> \set Score.measureLength = #(ly:make-moment 4/8)
> a,8 a'16. e32 f16. e32 c32 a16.
> b16.[ c32 d16. e32] f32 [ a16. e16. b32]
> c8 [a] a
> \set Score.repeatCommands = #'(end-repeat)
> \break
> } % end relative
>
> \score {
> \new Staff \music
> }
Now the code as I'd do it:
\version "2.18.0"
#(allow-volta-hook "|")
music = \relative c''' {
\key c \major
\time 2/4
\bar ".|:"
\repeat volta 2 {
\partial 8 g8
a16. [g32 a16. f32] e8 [c32 a16.]
a8 a'16. [e32 f16. e32] c32 a16.
a'16. [g32 a16. e32] c32 [e16. a,16. e'32]
c8 b b[ g']
\break
\set Score.measureLength = #(ly:make-moment 5 8)
a16. g32 a16. f32 e8
\set Score.repeatCommands = #'((volta "1."))
c32 [ a16.]
\once \hide Score.BarLine
\once \hide Score.SpanBar
\set Score.repeatCommands = #'((volta #f)(volta "2.") end-repeat)
c32 [e16.]
\set Score.repeatCommands = #'((volta #f))
\set Score.measureLength = #(ly:make-moment 4/8)
a,8 a'16. e32 f16. e32 c32 a16.
b16.[ c32 d16. e32] f32 [ a16. e16. b32]
c8 [a] a
}
\break
} % end relative
\score {
\new Staff \music
}
HTH,
Harm
P.S.
No need to send me a second private mail, with the same content.
I read the list :)
Ofcourse you can cc me.
- Re: Repeat volta not at beginning of piece doesn't get initial repeat bar line, John McWilliam, 2014/07/14
- Re: Repeat volta not at beginning of piece doesn't get initial repeat bar line, Thomas Morley, 2014/07/14
- Re: Repeat volta not at beginning of piece doesn't get initial repeat bar line, Thomas Morley, 2014/07/14
- Re: Repeat volta not at beginning of piece doesn't get initial repeat bar line, Marc Hohl, 2014/07/15
- Re: Repeat volta not at beginning of piece doesn't get initial repeat bar line, John McWilliam, 2014/07/15
- Re: Repeat volta not at beginning of piece doesn't get initial repeat bar line, Paul Morris, 2014/07/15
- Re: Repeat volta not at beginning of piece doesn't get initial repeat bar line, John McWilliam, 2014/07/17
- Re: Repeat volta not at beginning of piece doesn't get initial repeat bar line,
Thomas Morley <=
- Re: Repeat volta not at beginning of piece doesn't get initial repeat bar line, John McWilliam, 2014/07/19
- Re: Repeat volta not at beginning of piece doesn't get initial repeat bar line, Thomas Morley, 2014/07/26
- Message not available
- Re: Repeat volta not at beginning of piece doesn't get initial repeat bar line, Thomas Morley, 2014/07/15