lilypond-user
[Top][All Lists]
Advanced

[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: Tue, 15 Jul 2014 23:16:56 +0200

2014-07-15 20:08 GMT+02:00 John McWilliam <address@hidden>:
> Thanks Thomas for your input. I have applied your first alternative - the
>
> simpler one - to a four part piece. This is the classical length of a
>
> march in piping. The enclosed snippet illustrates the result. The end of
>
> the first part looses its repeat barline. I have tried introducing a \bar
>
> ":|." at the end of the first part, however, this causes the repeat
>
> barline at the begining of the second part to be surpressed. Using manual
>
> commands instead of the \repeat volta format for the first part doesn't
>
> improve the situation. I feel that we are very close to a solution and
>
> would appreciate any suggestions you may be able to offer.
>
> ------------------------------------
>
> \version "2.18.0"
>
> \defineBarLine ".|:-|." #'("|." ".|:" "|.") % needed to allow the
>
> %                                             "volta-hook" mid-line:
> #(allow-volta-hook ".|:-|.")
>
> music = \relative c' {
>         \key c \major
>         \time 4/4
>          \bar ".|:"
>
> %Part 1
>         \repeat volta 2 {
>         a4. a8 b4. b8
>         c4. c8 d4. d8
>         \break }
>
> %Part 2
>         \set Score.repeatCommands = #'(start-repeat)
>         e4. e8 f4. f8
>         \set Score.repeatCommands = #'((volta "1."))
>         g4. g8 a4. a8
>         \set Score.repeatCommands = #'((volta #f) (volta "2. --1,2")
>
> end-repeat)
>         b4. b8 c4. c8
>         \bar ".|:-|."
>         \set Score.repeatCommands = #'((volta #f))
>
>         \break
>
> %Part 3
>         \repeat volta 2 {
>         a4. a8 b4. b8
>         c4. c8 d4. d8
>         \break }
>
>
> %% not changed:
> %Part 4
>         \repeat volta 2 {
>         e4. e8 f4. f8
>         \set Score.repeatCommands = #'((volta "1."))
>         g4. g8 f4.f8
>         \set Score.repeatCommands = #'((volta #f))
>         }
>
> }% end relative
>
> \score  {
>    \new Staff { \music }
> }

how about:

\version "2.18.0"

\defineBarLine ".|:-|." #'("|." ".|:" "|.")

% needed to allow the "volta-hook" mid-line:
#(allow-volta-hook ".|:-|.")

music = \relative c' {
        \key c \major
        \time 4/4
        \bar ".|:"

%Part 1
        \repeat volta 2 {
        a4. a8 b4. b8
        c4. c8 d4. d8
        \bar ":..:"
        \break }

%Part 2
        \set Score.repeatCommands = #'(start-repeat)
        e4. e8 f4. f8
        \set Score.repeatCommands = #'((volta "1."))
        g4. g8 a4. a8
        \set Score.repeatCommands = #'((volta #f) (volta "2. --1,2") end-repeat)
        b4. b8 c4. c8
        \bar ".|:-|."
        \set Score.repeatCommands = #'((volta #f))
        \break

%Part 3
        \repeat volta 2 {
        a4. a8 b4. b8
        c4. c8 d4. d8
        \break }

%Part 4
        \repeat volta 2 {
        e4. e8 f4. f8
        \set Score.repeatCommands = #'((volta "1."))
        g4. g8 f4.f8
        \set Score.repeatCommands = #'((volta #f))
        }

}% end relative

\score {
   \new Staff \music
}


2014-07-15 20:06 GMT+02:00 John McWilliam <address@hidden>:
[...]
>   You advise against combining the two approaches to writing repeats, the 
> \repeat volta and the manual approach, however, the second part of the 
> snippet does just that. Do the problems only arise when using the 
> \alternative option?

Well, it's possible to combine them, though you need to use correct code/syntax

> Finally, should my comments have been posted on the forum instead of
> via a personal email?

Yes.
Please always reply to all!

Cheers,
  Harm



reply via email to

[Prev in Thread] Current Thread [Next in Thread]